2017-07-13 6 views
0

sparkを使用してかなり大きなjsonファイルを処理する必要があります。私はjsonのすべてのフィールドを必要とせず、実際にそれらの一部だけを読みたいと思っています(すべてのフィールドとプロジェクトを読み込むわけではありません)。 私はjsonコネクタを使用して、読み込みたいフィールドのみを含む部分読み取りスキーマを与えることができるかどうか疑問に思っていました。スパークは部分スキーマでjsonを読む

答えて

0

jsonが複数行かどうかによって異なります。現在、データフレームとして単一行のjsonのみをサポートしています。 spark 2.3の次のリリースでは、複数行JSONをサポートします。

しかし、あなたの質問です。私はあなたがjsonで読むために部分的なスキーマを使用することはできないと思います。まず、データフレームとして読み込むための完全なスキーマを提供し、その後、個別のスキーマを構築するために必要な特定の列を個別のデータフレームとして選択することができます。スパークの遅延評価を使用し、SQLエンジンがフィルタを押し下げることができるため、パフォーマンスは悪くありません。

+0

と1行あたり1つのjsonだとしますか? – Raytracer

+0

https://issues.apache.org/jira/browse/SPARK-18352を参考にしてください – xuanyue

関連する問題