問題タブ [fastparquet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
362 参照

dask - インデックス付きの Parquet ファイルの形状の計算が非常に遅いのはなぜですか?

同じフォルダーにある複数の Parquet ファイルから Parquet ファイルを作成しました。各ファイルはパーティションに対応します。

Parquet ファイルは、さまざまなプロセスで作成されます ( Python を使用concurrent.futures)。1 つのプロセスで実行するコードの例を次に示します。

df最大で行 (および 22 列) を含み100e3、整数インデックス ( と呼ばれるcid) でインデックス付けされます。

次に、次を使用して 2 つのメタデータ ファイルを作成しました。

実際_metadata_common_metadataすべての Parquet ファイルを含むフォルダーに正しく作成されます。

データにはインデックスが付けられているか、メタデータ ファイルが含まれているため、データのサイズなどの基本的な情報の取得は高速であるはずだと単純に考えました。たとえば、次の場合は永遠に時間がかかります。

それは例外ですか?

また、ほとんどの列はint64float64あり、いくつかの列はobject(stringサイズが異なります。

0 投票する
2 に答える
3293 参照

python - 寄木細工のファイルを Redshift にロードする

データフレームを寄木細工に保存してから、redshift にロードしようとしています。そのために私は次のことを行います:

次に、「COPY」コマンドを使用して、保存したファイルを直接 redshift に読み込みます。

次のエラーが発生します。 write path: has an incompatible Parquet schema for column ...

.csv で同じ手順を適用すると、問題なく動作します。寄木細工に切り替えるときの問題の原因は何ですか?

0 投票する
2 に答える
13455 参照

python - pyarrow.lib.ArrowInvalid: ('Y 型で X を変換できませんでした: Arrow データ型を推測するときに Python 値型を認識しませんでした')

次のコードを使用して、包含オブジェクトをpyarrowに変換するpandas.DataFramePlayerpyarrow.Table

エラーが発生します:

を使用して発生した同じエラー

pyarrowを使用してこれらの Python オブジェクトをシリアル化するようにフォールバックすることは可能pickleですか? または、より良い解決策はありますか?はpyarrow.Table最終的に を使用してディスクに書き込まれParquet.write_table()ます。

  • Python 3.8.0、パンダ 0.25.3、pyarrow 0.13.0 を使用。
  • pandas.DataFrame.to_parquet()はマルチ インデックスをサポートしていないため、使用するソリューションpq.write_table(pa.Table.from_dataframe(pandas.DataFrame))が推奨されます。

ありがとうございました!

0 投票する
1 に答える
921 参照

python - fastparquet の圧縮オプションが一貫していません

fastparquetのプロジェクトページによると、fastparquetさまざまな圧縮方法をサポート

オプション (圧縮アルゴリズム。gzip は常に使用可能):

特にzstandard、高い圧縮率と印象的な高速圧縮/解凍速度を提供する最新のアルゴリズムです。そして、これが私が fastparquet に望むものです。

しかし、fastparquet.writeのドキュメントでは

各列に適用する圧縮。たとえば、GZIP や SNAPPY、または {"col1": "SNAPPY", "col2": None} のような辞書で、列ごとの圧縮タイプを指定します。どちらの場合も、コンプレッサーの設定は、基礎となるコンプレッサーのデフォルトになります。基になるコンプレッサーに引数を渡すには、各 dict エントリ自体が辞書である必要があります。

zstandard については何も言及されていません。さらに悪いことに、私が書くと

それは言うエラーをポップアップ表示します

圧縮「LZ4」は利用できません。オプション: ['GZIP', '非圧縮']

fastparquest「GZIP」のみをサポートしますか?これは、プロジェクト ページとはかなり異なります。いくつかのパッケージがありませんか? すべてのプロジェクトページに記載されている圧縮アルゴリズムで fastparquest を使用するには?