后臺系統(tǒng)免費模板網(wǎng)站免費游戲推廣平臺
讀取a表,寫入a表
1.寫入的是分區(qū)表,不報錯
2.讀取上來之后,創(chuàng)建為臨時視圖temp,然后先寫入a表,再使用temp,就會報錯
解決辦法:可以先使用temp,再寫入a表
3.寫入的不是分區(qū)表,會報錯
解決辦法:先把數(shù)據(jù)收集到Driver,創(chuàng)建臨時視圖,再寫入a表
4.萬能解決辦法:先把數(shù)據(jù)收集到Driver,創(chuàng)建臨時視圖,再寫入a表
Dataset<Row> dataset = spark.sql(get_new_id_Sql());StructType schema = dataset.schema();List<Row> rows = dataset.collectAsList();spark.createDataFrame(rows, schema).createOrReplaceTempView("all_data");
insert overwrite table ods.a
select * from all_data
可能的原因:spark是移動數(shù)據(jù)不如移動計算,所以數(shù)據(jù)的路徑還是a表,如果收集到Driver,路徑就不是a表了