学习 Avro(二):Spark Streaming 使用 Avro

思路 生产者使用 Avro 对数据进行序列化,发送数据到 Kafka 的指定 Topic 队列 消费者订阅 Kafka 指定 Topic 订阅,使用 Avro 对数据进行反序列化 生产者和消费者使用相同的 Avro Schema,保存在外部存储中,例如:Redis 等 序列化与反序列化 Bijection »

学习 Guice(二):Spark 依赖注入实践

绑定 class ApplicationModule(spark: SparkSession, date: LocalDate) extends AbstractModule { override def configure(): Unit = { bind(classOf[SparkSession]).toInstance(spark) // ① bind(classOf[Source]).to(classOf[SourceImpl]) // ② bind(classOf[ »

学习 Spark 2(四):Spark 读写 Hive

启用 Hive 在使用 Builder 模式 SparkSession.Builder 创建 SparkSession 实例,通过调用 enableHiveSupport() 即可启用 Hive: SparkSession.builder() .master("yarn") .appName(appName) .enableHiveSupport() .getOrCreate() 在使用 Oozie 运行 Spark »

Spark 的 Join 类型

Shuffled Hash Join Spark 默认的 Join 类型是 Shuffled Hash Join Shuffled Hash Join 分为两个阶段: Shuffle: 将具有相同 key 值的数据分配到同一个分区中 Join: 在本地,对数据集执行 join Sort Merge Join Sort »