Skip to content

Instantly share code, notes, and snippets.

View satendrakumar's full-sized avatar
:octocat:

Satendra Kumar satendrakumar

:octocat:
View GitHub Profile
@satendrakumar
satendrakumar / S3Api.scala
Created January 12, 2018 06:03
Scala S3 Api
import java.io._
import com.amazonaws.ClientConfiguration
import com.amazonaws.auth.DefaultAWSCredentialsProviderChain
import com.amazonaws.services.s3.AmazonS3Client
import com.amazonaws.services.s3.model._
object S3Api {
private val config = new ClientConfiguration() //in milliseconds
# confluent kafka(.8.2) producer
import json
from confluent_kafka import Producer
class KafkaProducer:
def __init__(self, hosts):
self.hosts = hosts
self.producer = Producer(
# confluent Kafka(.8.2) consumer
from confluent_kafka import Consumer
from confluent_kafka import TopicPartition
class KafkaConsumer:
def __init__(self,topic, hosts, partitions):
@satendrakumar
satendrakumar / AkkaHttpService.scala
Created November 26, 2017 07:10
Log your Http request and response into log file with time taken by server to process that request.
import akka.event.LoggingAdapter
import akka.http.scaladsl.Http
import akka.http.scaladsl.model.HttpRequest
import akka.http.scaladsl.server.Directives._
import akka.http.scaladsl.server.Route
import akka.http.scaladsl.server.RouteResult.{Complete, Rejected}
import akka.http.scaladsl.server.directives.{DebuggingDirectives, LoggingMagnet}
import akka.stream.ActorMaterializer
@satendrakumar
satendrakumar / ExecutorServices.scala
Last active September 20, 2017 21:15
Choosing an ExecutorService for application(use own thread pool instead of Scala default )
import java.util.concurrent.{Executors, ForkJoinPool}
import scala.concurrent.ExecutionContext
//For IO intensive applications
object MyExecutionContext {
private val concurrency = Runtime.getRuntime.availableProcessors()
implicit val commonThreadPool: ExecutionContext = ExecutionContext.fromExecutor(Executors.newCachedThreadPool())
@satendrakumar
satendrakumar / XLSX2CSV.scala
Created August 15, 2017 14:27
Convert excel file into csv file
import org.apache.http.annotation.NotThreadSafe
import org.apache.poi.ss.usermodel._
import scala.collection.JavaConversions._
import scala.util.control.NonFatal
object IXLS2CSV {
private val df = new DataFormatter(true)
@satendrakumar
satendrakumar / Angular2.scala
Created July 25, 2017 10:54 — forked from jroper/Angular2.scala
Play Angular 2 integration
import play.sbt.PlayRunHook
import sbt._
import java.net.InetSocketAddress
object Angular2 {
def apply(log: Logger, base: File, target: File): PlayRunHook = {
object Angular2Process extends PlayRunHook {
private var watchProcess: Option[Process] = None
@satendrakumar
satendrakumar / Loops.scala
Last active August 26, 2017 06:49
while loop alternatives in Scala
import java.io._
object Loop1 extends App {
//Java way
val inputStream: BufferedInputStream = new BufferedInputStream(new FileInputStream("input.csv"))
val outputStream = new BufferedOutputStream(new FileOutputStream("output.csv"))
val buffer = new Array[Byte](32 * 1024)
var bytesRead: Int = inputStream.read(buffer)
while (bytesRead > 0) {
println("writing.......")
@satendrakumar
satendrakumar / FoldLeft.scala
Created June 11, 2017 12:17
Capabilities of foldLeft of Scala
object FoldLeft extends App {
def reverse(list: List[Int]): List[Int] =
list.foldLeft[List[Int]](Nil)((acc, element) => element :: acc)
def dedupe(list: List[Int]): List[Int] = {
list.foldLeft[List[Int]](Nil)((acc, element) => if (acc.contains(element)) acc else acc :+ element)
}
@satendrakumar
satendrakumar / RemoveHeaders.scala
Last active May 10, 2017 07:49
Remove headers from csv files without comparing each record using Spark
import java.io.{BufferedReader, File, InputStreamReader}
import javax.annotation.concurrent.NotThreadSafe
import org.apache.hadoop.io.{LongWritable, Text}
import org.apache.hadoop.mapred.{FileSplit, TextInputFormat}
import org.apache.spark.broadcast.Broadcast
import org.apache.spark.rdd.HadoopRDD
import org.apache.spark.{SparkConf, SparkContext}
@NotThreadSafe