Scala
ChanKamShing
这个作者很懒,什么都没留下…
展开
-
Spark Streaming到Mysql
package com.cjs import java.sql.DriverManager import org.apache.log4j.{Level, Logger} import org.apache.spark.SparkConf import org.apache.spark.streaming.{Seconds, StreamingContext} import org.apac...原创 2019-10-12 19:30:41 · 191 阅读 · 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 · 674 阅读 · 0 评论 -
SparkSQL自定义无类型聚合函数
准备数据文件: Michael,3000 Andy,4500 Justin,3500 Betral,4000 一、定义自定义无类型聚合函数 想要自定义无类型聚合函数,那必须得继承org.spark.sql.expressions.UserDefinedAggregateFunction,然后重写父类得抽象变量和成员方法。 package com.cjs import ...原创 2019-08-08 22:17:16 · 189 阅读 · 0 评论 -
SparkSQL自定义强类型聚合函数
自定义强类型聚合函数跟自定义无类型聚合函数的操作类似,相对的,实现自定义强类型聚合函数则要继承org.apache.spark.sql.expressions.Aggregator。强类型的优点在于:其内部与特定数据集紧密结合,增强了紧密型、安全性,但由于其紧凑的特性,降低了适用性。 准备employ.txt文件: Michael,3000 Andy,4500 Justin,...原创 2019-08-08 22:24:33 · 209 阅读 · 0 评论 -
SparkSql中,关于Hive表与Parquet文件的Schema转化兼容
从表Schema处理角度对比Hive和Parquet,两者主要的区别: Hive区分大小写,Parquet不区分大小写; Hive允许所有的列为空,而Parquet不允许所有列为空; 基于上述两点区别,在进行Hive metastore Parquet转换为SpqrkSql Parquet时,需要将两者的结构进行一致化,其一致化规则: 两者同名字段必须具有相同的数据类型,一致化后的字段必须为...原创 2019-08-10 17:52:41 · 940 阅读 · 0 评论