Scala
ChanKamShing
这个作者很懒,什么都没留下…
展开
-
Spark Streaming到Mysql
package com.cjsimport java.sql.DriverManagerimport org.apache.log4j.{Level, Logger}import org.apache.spark.SparkConfimport org.apache.spark.streaming.{Seconds, StreamingContext}import org.apac...原创 2019-10-12 19:30:41 · 211 阅读 · 0 评论 -
RDD转DataFrame常用的两种方式
随着Spark1.4.x的更新,Spark提供更高阶的对象DataFrame,提供了比RDD更丰富的API操作,同时也支持RDD转DataFrame(下面简称“DF”),但是要注意,不是任意类型对象组成的RDD都可以转换成DF,,只有当组成RDD[T]的每一个T对象内部具有鲜明的字段结构时,才能隐式或者显示地创建DF所需要的Schema(结构信息),从而进行RDD->DF转换...原创 2019-08-07 22:47:07 · 689 阅读 · 0 评论 -
SparkSQL自定义无类型聚合函数
准备数据文件:Michael,3000Andy,4500Justin,3500Betral,4000一、定义自定义无类型聚合函数 想要自定义无类型聚合函数,那必须得继承org.spark.sql.expressions.UserDefinedAggregateFunction,然后重写父类得抽象变量和成员方法。package com.cjsimport ...原创 2019-08-08 22:17:16 · 199 阅读 · 0 评论 -
SparkSQL自定义强类型聚合函数
自定义强类型聚合函数跟自定义无类型聚合函数的操作类似,相对的,实现自定义强类型聚合函数则要继承org.apache.spark.sql.expressions.Aggregator。强类型的优点在于:其内部与特定数据集紧密结合,增强了紧密型、安全性,但由于其紧凑的特性,降低了适用性。准备employ.txt文件:Michael,3000Andy,4500Justin,...原创 2019-08-08 22:24:33 · 232 阅读 · 0 评论 -
SparkSql中,关于Hive表与Parquet文件的Schema转化兼容
从表Schema处理角度对比Hive和Parquet,两者主要的区别:Hive区分大小写,Parquet不区分大小写; Hive允许所有的列为空,而Parquet不允许所有列为空;基于上述两点区别,在进行Hive metastore Parquet转换为SpqrkSql Parquet时,需要将两者的结构进行一致化,其一致化规则:两者同名字段必须具有相同的数据类型,一致化后的字段必须为...原创 2019-08-10 17:52:41 · 972 阅读 · 0 评论