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
吳邪,小三爺,混跡于后臺,大資料,人工智能領域的小菜鳥,
更多請關注

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/267337.html
標籤:其他
上一篇:Chrome瀏覽器安裝離線插件Markdown Here
下一篇:用keras實作textcnn
