温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

大数据中Spark实战技巧是什么

发布时间:2021-12-17 10:29:35 来源:亿速云 阅读:125 作者:柒染 栏目:大数据

本篇文章给大家分享的是有关大数据中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实战技巧是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI