Skip to content

Instantly share code, notes, and snippets.

View sgireddy's full-sized avatar

Shashi Gireddy sgireddy

View GitHub Profile
@sgireddy
sgireddy / main_java_org_example_dataflow_Crypto.java
Created February 10, 2020 17:19
scio ArrayOutOfBoundsException
package org.example.dataflow;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.io.Serializable;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
public class Crypto implements Serializable {
@sgireddy
sgireddy / README.md
Created May 12, 2017 06:19 — forked from kmader/README.md
Beating Serialization in Spark

Serialization

As all objects must be Serializable to be used as part of RDD operations in Spark, it can be difficult to work with libraries which do not implement these featuers.

Java Solutions

Simple Classes

For simple classes, it is easiest to make a wrapper interface that extends Serializable. This means that even though UnserializableObject cannot be serialized we can pass in the following object without any issue

public interface UnserializableWrapper extends Serializable {
 public UnserializableObject create(String parm1, String parm2);
object MergeSort extends App {
// With Abstract Class
abstract class Id(id: Int) extends Ordered[Id] {
override def compare[+T](that: Id): Int = this.id.compareTo(that.id)
}
case class Emp(id: Int, name: String) extends Id(id) {
//override def compare(that: Emp): Int = this.name.compareTo(that.name)
}
@sgireddy
sgireddy / MergeSort.scala
Created February 2, 2017 07:16
Generic Merge Sort with Type bounds
object MergeSort extends App {
abstract class Id (id: Int) extends Ordered[Emp]{
def compare(that: Emp): Int = this.id.compareTo(that.id)
}
case class Emp(id: Int, name: String) extends Id(id) {
override def compare(that: Emp): Int = this.name.compareTo(that.name)
}
@sgireddy
sgireddy / NodesBelowLevelK.scala
Created January 18, 2017 02:47
Count number of nodes below level K
object NodesBelowLevelK extends App {
trait Tree[+A]
case class Leaf[A](x: Int) extends Tree[A]
case class Node[A](nodes: List[Tree[A]]) extends Tree[A]
var seq1 = Node(
List(Node
( List(Leaf(1), Node(List(Leaf(1), Leaf(1),
Node(List(Leaf(1), Leaf(1))))))),
@sgireddy
sgireddy / scala_Master.scala
Created January 7, 2017 20:45
A simple word count example to explain Akka Actor System
import akka.actor.{Actor, ActorRef, Props}
import domain._
import scala.io.Source
/**
* Created by sri on 1/6/17.
*/
case class Master(fileName: String) extends Actor {
var totalLines = 0