私は以下のようなデータフレームを持っています。Sparkからの書き込み時に、分割されたデータのデータ型を失うことを避ける
itemName, itemCategory
Name1, C0
Name2, C1
Name3, C0
私は分割された寄木細工のファイルとして、このデータフレームを保存したい:私は戻ってデータを読み込むときに、このデータフレームのために
df.write.mode("overwrite").partitionBy("itemCategory").parquet(path)
、それは文字列にitemCategory
のデータ型を持つことになります。
しかし、時々、私は以下のように他のテナントからのデータフレームを持っています。この場合
itemName, itemCategory
Name1, 0
Name2, 1
Name3, 0
リードバックするとき、パーティションとして書き込まれた後に、得られたデータフレームは、itemCategory
のデータ型のintを有するであろう。
寄木張りファイルには、データ型を説明するメタデータがあります。どのようにしてパーティションのデータ型を指定して、Intの代わりにStringとして読み取ることができますか?
は、あなたがそれをCSVまたは推論されるタイプを必要とするファイル形式として読み込まなっています「他の回で、」データフレームに読んだときと仮定することは正しいですか? – ayplam
いいえ、ファイルはパーケット形式ですので、データ型はパーティションキーを除き推論されません。 – suriyanto