我有一個示例應用程序可以將csv文件讀取到數據框中。數據幀可以使用方法 df.saveAsTable(tablename,mode)
以鑲木地板格式存儲到Hive表格中。將Spark數據框保存爲Hive中的動態分區表
上面的代碼工作正常,但我每天都有這麼多數據,我想基於creationdate(表中的列)動態分區配置單元表。
有沒有辦法動態分區數據框並將其存儲到配置單元倉庫。希望避免使用hivesqlcontext.sql(insert into table partittioin by(date)....)
對插入語句進行硬編碼。
問題可以被視爲一個擴展:How to save DataFrame directly to Hive?
任何的幫助深表感謝。
嘗試過這種方法Partitionby。它只能在RDD級別上工作,一旦創建了數據框,大多數方法都是DBMS樣式的,例如, groupby,orderby但他們不提供寫入Hive上不同分區文件夾的目的。 – Chetandalal
好吧,所以能夠用1.4版本解決它。 。df.write()模式(SaveMode.Append).partitionBy( 「日期」)saveAsTable( 「表名」); 。但是,這會將我的日期字段更改爲整數值並刪除實際日期。例如列中有9個唯一日期,但現在它們存儲爲1,2,3 ....並且文件夾名稱爲date = 1,2,3,...而不是date = 20141121。讓我知道是否有辦法做到這一點。 – Chetandalal
@ subramaniam-ramasubramanian:請回答OP的問題作爲答案,而不是編輯現有的答案 –