2016-03-22 14 views
0

CSVファイルを分割された寄せ木に変換する必要があります。私はこれを行うための正しいテクニックを見つけることができません。データがデータベース(SAP HANA)からエクスポートされ、データフレームを自動作成するテーブルの「create.sql」を解析しているため、CSVをDFとして使用しています。私はこのテクニックを使って何千ものテーブルを処理します。spark:open CSV;分割された寄木細工として保存する

var df_sql=s"""CREATE TEMPORARY TABLE CDHDR_MRP_DF (MANDANT VARCHAR(3), 
OBJECTCLAS VARCHAR(15) , OBJECTID VARCHAR(90) , CHANGENR VARCHAR(10), 
USERNAME VARCHAR(12) , UDATE VARCHAR(8) , UTIME VARCHAR(6) 
, TCODE VARCHAR(20) , PLANCHNGNR VARCHAR(12) , ACT_CHNGNO VARCHAR(10) 
, WAS_PLANND VARCHAR(1) , CHANGE_IND VARCHAR(1) , LANGU VARCHAR(1) 
, VERSION VARCHAR(3) , _DATAAGING VARCHAR(8)  ) 
USING com.databricks.spark.csv OPTIONS (path "$vCsv") """ 
vc.sql(df_sql) 

私はRDDにこれを変換し、寄木張りとして保存します

var rdd=vc.sql(s"""SELECT * from $vDF_Table""") 
rdd.write.mode("overwrite").parquet(vOutputPath) 

これは動作します。 私は「.partitionBy( 『USERNAME』)」エラーメッセージが

<console>:121: error: value partitionBy is not a member of Unit 

パーティション寄木細工のファイルにCSVに変換するための正しい技術とは何です追加した場合は?

答えて

0

parquetはアクションを実行します。パーティション化する場合は、事前に電話してください。

rdd.write.partitionBy("foo").mode("overwrite").parquet(vOutputPath) 
関連する問題