Spark-sql-parquet-files
Spark SQL-寄せ木張りファイル
寄木細工は、多くのデータ処理システムでサポートされている円柱形式です。 円柱状のストレージを持つことの利点は次のとおりです-
- カラムナーストレージはIO操作を制限します。
- カラムナーストレージは、アクセスする必要がある特定の列をフェッチできます。
- 列状ストレージは、より少ないスペースを消費します。
- カラムナストレージは、より要約されたデータを提供し、タイプ固有のエンコーディングに従います。
Spark SQLは、元のデータのスキーマを自動的にキャプチャする寄木細工ファイルの読み取りと書き込みの両方をサポートします。 JSONデータセットと同様に、寄木細工のファイルも同じ手順に従います。
spark-shellが実行されているのと同じディレクトリに配置された employee.parquet という名前の employee レコードデータの同じ例をもう一度見てみましょう。
与えられたデータ-従業員レコードの入力データを寄せ木細工の形式に変換することを気にしないでください。 RDDデータをParquetファイルに変換する次のコマンドを使用します。 前の例で入力ファイルとして使用した employee.json ドキュメントを配置します。
寄木細工のファイルを表示することはできません。 これは、現在のディレクトリにあるディレクトリ構造です。 ディレクトリとファイル構造を表示するには、次のコマンドを使用します。
次のコマンドは、読み取り、テーブルへの登録、およびクエリの適用に使用されます。
Spark Shellを開く
次の例を使用してSparkシェルを起動します
SQLContextオブジェクトを作成する
次のコマンドを使用してSQLContextを生成します。 ここで、 sc はSparkContextオブジェクトを意味します。
テキストファイルから入力を読み取る
次のステートメントを使用して、 employee.parquet という名前の寄せ木張りファイルからデータを読み取ることにより、RDD DataFrameを作成します。
DataFrameをテーブルに保存します
DataFrameデータを employee という名前のテーブルに保存するには、次のコマンドを使用します。 このコマンドの後、すべてのタイプのSQLステートメントを適用できます。
従業員テーブルの準備ができました。 メソッド* SQLContext.sql()*を使用して、テーブルにいくつかのSQLクエリを渡します。