自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 SPARK UDF多次执行的问题

SPARK UDF多次执行的问题通常我们在一个dataframe中调用udf时,我们预期是每一行应用一次udf函数,但实际上这是不能保证每一行应用一次的,因为在一些可能多次访问udf返回值得场景下,spark内部会优先反复调用udf而不是job。所以我们在设计udf时应该设计为pure function,这样可以保证即使对于同一条数据多次调用udf也不会影响预期结果,否则应该考虑使用map/m...

2019-07-22 18:17:21 1608

原创 spark dataframe/dataset解析json字符串的字段

1.使用函数get_json_object逐个取出json当层对象object testdf { def main(args: Array[String]): Unit = { Logger.getLogger("org.apache.spark").setLevel(Level.ERROR) val spark = SparkSession.builder().master...

2019-06-23 11:33:03 3642

原创 【公式证明】矩阵乘积转置

证明:(AB)T=BTAT(AB)^T=B^TA^T(AB)T=BTAT对于等式左侧设AB=C,CT=DAB=C,C^T=DAB=C,CT=D则Dm,n=Cn,m=[An,:,B:,m]D_{m,n}=C_{n,m}=[A_{n,: },B_{:,m}]Dm,n​=Cn,m​=[An,:​,B:,m​]对于等式右侧设BTAT=GB^TA^T=GBTAT=G则Gm,n=[Bm,:T,A...

2019-06-01 21:05:04 28470 3

原创 flume interceptor使用

Timestamp Interceptor时间戳拦截器,将当前时间戳(毫秒)加入到events header中,key名字为:timestamp,值为当前时间戳参数默认值描述type取值为timestamp,也可以使用类名的全路径preserveExistingfalse如果设置为true,若事件中报头已经存在,不会替换报头同名key的值a3.sou...

2019-03-03 14:48:31 414

原创 spark累加器v2

自定义累加器类步骤:MyAccumulator1.需继承AccumulatorV22.定义成员累加值并初始化 res3.重写isZero方法 对累加值进行状态检查,系统内部调用4.重写copy方法 拷贝一个新的AccumulatorV2,系统内部调用5.重写reset方法 重置AccumulatorV2中的累加值res,系统内部调用6.重写add方法 实现对res进行累加的逻辑...

2019-02-17 23:28:04 265

原创 spark dataframe构建方式

spark dataframe构建方式1.从Seq序列转为dataframe,使用toDF方法,需要隐式转换val df = Seq((1,"brr"),(2,"hrr"),(3,"xxr")).toDF("id","name")df.show()输出:| id|name|+---+----+| 1| brr|| 2| hrr|| 3| xxr|+---+----+2...

2018-12-24 23:35:54 460

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除