2017-01-10 6 views
1

パーケットファイルのスキーマを取得するために使用できるPythonライブラリはありますか?Pythonの火花データフレームにファイルをロードせずに寄木張りファイルのスキーマを取得しますか?

現在、パーケットファイルをSparkのdataframeにロードし、データフレームからスキーマを取得してアプリケーションのUIに表示しています。しかし、スパークコンテキストを初期化してデータフレームをロードし、データフレームからスキーマを取得することは時間のかかる作業です。スキーマを取得するための代替方法を探しています。

+0

はファイルHDFS内かどうかがわかり、ソースからビルドする必要があるので、これだけで昨日のコードをマージ? –

+0

Sparkは、スキーマを取得するためにデータセット全体をロードする必要はありません。寄せ木張りのファイルからスキーマを取得するのは即座に行われます。 –

+0

@ティガゴ・バルディム - はい、HDFSのみです – Saran

答えて

1

これは、pyarrowhttps://github.com/apache/arrow/)を使用してサポートされています。

from pyarrow.parquet import ParquetFile 
# Source is either the filename or an Arrow file handle (which could be on HDFS) 
ParquetFile(source).metadata 

注:私たちは、あなたがhttps://github.com/apache/arrow/commit/f44b6a3b91a15461804dd7877840a557caa52e4e

+0

ありがとうございます。ビルドhttps://travis-ci.org/apache/arrow/jobs/190525227のような状態は緑色です。あなたはビルドをどこから得るべきか教えていただけますか?それ以外の場合は、この矢印を作成する方法のドキュメントを私に指摘できますか? – Saran

+0

これは動作しますが、通常のテキストではなくdictまたは配列として応答を返すことはできませんか? –

関連する問題