12 2019 档案
摘要:流数据的窗口操作:窗口操作,即把几个批次的数据整合到一个窗口里计算,并且窗口根据步长不断滑动。 本质:把小批次,小颗粒的数据任意进行大批次和大颗粒的数据统计,意味着批次采集周期不用设置太大,可以通过滑动窗口来调整数据出现的粒度。 code: package com.home.spark.stream
阅读全文
摘要:package com.home.spark.streaming import org.apache.kafka.common.serialization.StringDeserializer import org.apache.spark.SparkConf import org.apache.s
阅读全文
摘要:1、spark集成的KafkaUtils.createStream已经过期,这个是Spark Integration For Kafka 0.8里集成的。 替代的是Spark Integration For Kafka 0.10,已经没有createStream函数,采用createDirectSt
阅读全文
摘要:自定义用户函数有两种方式,区别:是否使用强类型,参考demo:https://github.com/asker124143222/spark-demo 1、不使用强类型,继承UserDefinedAggregateFunction package com.home.spark import org.
阅读全文
摘要:1、sparksql是Spark用来处理结构化数据的一个模块,它提供了两个抽象DataFrame和DataSet并且作为分布式SQL查询引擎的作用。 Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduce的程序的复杂性,由于MapReduce这种计算模型执行效
阅读全文
摘要:1、读取mysql数据。从mysql读取的时候需要传入数据边界,数据类型是long,一般建议主键列,如果是时间列,需要转换成时间戳。 参考demo:https://github.com/asker124143222/spark-demo package com.home.spark import j
阅读全文
摘要:1、map是对数据1对1的遍历,传输效率相对比较差,相比起mapPartitions不会出现内存溢出 2、mapPartitions 对一个rdd里所有分区遍历 效率优于map算子,减少了发送到执行器执行的交互次数,mapPartitions是批量将分区数据一次发送 但是执行器内存不够的则可能会出现
阅读全文