私はSparkのデータフレームに格納し、円柱ファイルとしてディスクに保存したい数百万行のテーブルを持っています。Spark Dataframe/Parquetの列挙型
私のパーケットファイルのサイズは現在2TBを超えており、これを最適化していることを確認したいと思います。
これらの列の大部分は長い文字列値ですが、値が非常に小さいこともよくあります。たとえば、2つの別個の値(20文字と30文字の文字列)を持つカラムがあり、平均文字数が400文字の文字列を持つ別のカラムがありますが、すべてのエントリに約400の異なる値しかありません。
リレーショナルデータベースでは、通常、これらの値を参照で別のテーブルに正規化するか、少なくとも何らかの種類の列挙型でテーブルを定義します。
DFファイルまたはパーケットファイルでそのパターンに一致するものは見つかりません。柱状ストレージはこれを効率的に処理していますか?または、これをさらに最適化するために何かを検討する必要がありますか?
を有効にすることができます。これを読んでいる間に再びオブジェクト形式に変換することができます。それは効率的な方法ではない?バイト配列は文字列より少ないスペースを占めます。 –