大数据中Spark实战技巧是什么
本篇文章给大家分享的是有关大数据中Spark实战技巧是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
成都创新互联为您提适合企业的网站设计 让您的网站在搜索引擎具有高度排名,让您的网站具备超强的网络竞争力!结合企业自身,进行网站设计及把握,最后结合企业文化和具体宗旨等,才能创作出一份性化解决方案。从网站策划到网站制作、成都网站设计, 我们的网页设计师为您提供的解决方案。
1.连接MySQL
--driver-class-path mysql-connector-java-5.1.21.jar 在数据库中,SET GLOBAL binlog_format=mixed;
2.Spark中 使用Hive的udf
同样使用—jars 才行
3.Spark jupyter使用
https://www.jb51.net/article/163641.htm
https://my.oschina.net/albert2011/blog/754174
使用jupyter-notebook --ip hostname -i
来启动
4.Spark使用hive的orc解析格式
spark.sql.hive.convertMetastoreOrc=true
使用spark写入hive表中的数据,可能会出现空指针问题或者数据越界问题,问题原因是spark的元数据解析问题,而不是hive的元数据解析问题
5.row_number排序算子的使用
import org.apache.spark.sql.expressions.Window import org.apache.spark.sql.functions.row_number import org.apache.spark.sql.functions._
1.spark.sql(sql).withColumn("rn", row_number().over(Window.partitionBy('f_trans_id).orderBy(col("f_modify_time").desc))) 2.spark.sql(sql).withColumn("rn", row_number().over(Window.partitionBy('f_trans_id).orderBy(-col("f_modify_time"))))
3.val df = spark.sql(sql)
df.withColumn("rn", row_number().over(Window.partitionBy('f_trans_id).orderBy(-df("f_modify_time"))))
4.spark.sql(sql).withColumn("rn", row_number().over(Window.partitionBy('f_trans_id).orderBy(-'f_modify_time)))
注意:-的方式,经过测试,不稳定,有时可以,有时不可以
6.broadcast广播表
sc.broadcast是广播数据,一般用于rdd广播,而下面的方式用于广播表
import org.apache.spark.sql.functions.broadcast
broadcast(tableData).createOrReplaceTempView
以上就是大数据中Spark实战技巧是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。
分享标题:大数据中Spark实战技巧是什么
文章链接:http://scjbc.cn/article/iihdhp.html