0
writeメソッドを使用してデータセット/データフレームをhdfsのパーキンズとして保存しようとしています。 パーティションはHDFSで作成されますが、データは空です。空きsparkデータセット中に作成されたHDFSへの書き込み
writeメソッドを使用してデータセット/データフレームをhdfsのパーキンズとして保存しようとしています。 パーティションはHDFSで作成されますが、データは空です。空きsparkデータセット中に作成されたHDFSへの書き込み
を提案してください、私はちょうどデータフレームのためにそれをチェックする2.xの
dataset.write.mode("append").partitionBy("empNo").format("parquet").save("hdfs path")
または
dataset.write.mode(SaveMode.Overwrite).save("hdfs path")
- 私は、Sparkのバージョンを使用しています。クエリごとに1つの列に分割します。 2つのパーティション化されたフォルダが適切な値で出力フォルダ内に作成されました。私はスパーク1.6で働いていますので、DataSet
APIに確認することはできません
df.write.mode(SaveMode.Append)
.partitionBy("column_name")
.format("parquet")
.save("hdfs://namenode/output")
:各フォルダには、私は、次のコマンドを使用拡張子を持つファイル.gz.parquet
を持っていました。
私はあなたのデータの分割にいくつかの問題があるかもしれないと思う。一部のパーティションは空の場合があります。あなたが書いたコマンドは問題ありません。
あなたの 'HiveContext'に対して' dynamic.partition'を 'true'に、' dynamic.partition.mode'を 'nonstrict'に設定しましたか? – philantrovert
しかし、この書き込み操作では、sparkからhdfsに移行する必要がありますか? – Abhi
申し訳ありませんが、あなたの質問を間違って読んでいます。パーティション化されたデータをハイブテーブルに書き込んでいると思いました。 – philantrovert