sqlContext.read.json("...path.to.file...")
PySpark JSON構文解析はPythonまたはJVMで行われますか?
私はPythonでpysparkを使用してSparkスクリプトを作成しています。 JSON解析はPythonやJVMで行われますか? Pythonの場合は、Cのsimplejson拡張を使用していますか、それともPythonのネイティブですか?
JSON解析のロットを実行していますので、ここでパフォーマンスが重要になります。
sqlContext.read.json("...path.to.file...")
PySpark JSON構文解析はPythonまたはJVMで行われますか?
私はPythonでpysparkを使用してSparkスクリプトを作成しています。 JSON解析はPythonやJVMで行われますか? Pythonの場合は、Cのsimplejson拡張を使用していますか、それともPythonのネイティブですか?
JSON解析のロットを実行していますので、ここでパフォーマンスが重要になります。
JSON解析はJVMで行われ、jsonsをファイルにロードするのが最も高速です。
read.json
にスキーマを指定しないと、sparkはすべての入力ファイルをプローブしてjsonsの「スーパーセット」スキーマを探します。パフォーマンスの問題のであれば、最初にそれらからスキーマを収集し、その後、サンプル文書と小さなJSONファイルを作成します。
schema = sqlContext.read.json("/path/to/small/file.json").schema
を次にスキーマをspecyfyingあなたの大きなデータセットをロードします。
df = sqlContext.read.json("/path/to/big/dataset", schema=schema)
sqlContext.read.jsonを実行すると、これはシーンの背後でscalaコードによって評価される式に変換されます。これは、json解析がJVMによって行われることを意味します。
あなたはまた、手動でスキーマを設定することができます。多くの場合、フィールドのサブセットを設定し、スキーマを構築し、そのスキーマを直接提供できるように、すべてのフィールドが本当に必要なわけではありません –
私のコードでは、実際に 'sqlContext.read.schema(...) .json(...) '。私はここで例を単純化しました:)ありがとう! –