Parquet (.parquet)

予備知識

    • 登録されているMIME タイプ: application/vnd.apache.parquet
    • 効率的で汎用的な列指向のデータ形式.
    • Apache Software Foundationによって開発された.
    • バイナリファイル形式.
    • 複数の圧縮方式をサポートしている.

ImportとExport

  • Import["file.parquet"] はParquetファイルをTabularオブジェクトとしてインポートする.
  • Import["file.parquet",elem]は指定の要素をインポートする.
  • Import["file.parquet",{elem,subelem1,}] は部分要素subelemiをインポートする.これは部分的なデータインポートに役立つ.
  • インポート形式は Import["file","Parquet"] または Import["file",{"Parquet",elem,}]で指定できる.
  • Export["file.parquet",expr] exprからParquetファイルを生成する.
  • サポートする式 expr は以下を含む:
  • {v1,v2,}データ単一列
    {{v11,v12,},{v21,v22,},}データ行のリスト
    arraySparseArrayQuantityArrayなどの配列
    datasetDataset オブジェクトまたはTabularオブジェクト
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Import, Exportファイルからインポートする,あるいはファイルへエキスポートする
    CloudImport, CloudExportクラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする
    ImportString, ExportString文字列からインポートする,あるいは文字列へエキスポートする
    ImportByteArray, ExportByteArrayバイト配列からインポートする,あるいはバイト配列へエキスポートする

Import要素

  • 一般的なImport要素:
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト
  • データ表現要素:
  • "Data"2次元配列
    "Dataset"Datasetとしての表データ
    "Tabular"Tabularオブジェクト
  • デフォルトでは,Import"Tabular" 要素を使用する.
  • "Tabular"要素の部分的なインポートにおける部分要素は{"Tabular",rows,cols}という形式で行と列を指定することができる.ここで,rowscols は以下のいずれでもよい:
  • nn 番目の行または列
    -n最後から数える
    n;;mn から m まで
    n;;m;;sn から m までステップ s
    {n1,n2,}特定の行または列 ni
  • データ記述子要素:
  • "ColumnLabels"列の名前
    "ColumnTypes"各列のデータ型の連想
    "Schema"TabularSchemaオブジェクト
  • メタデータ要素:
  • "ColumnCount"ファイルに保存されている列の数
    "Dimensions"データ次数
    "RowCount"ファイルに保存されている行の数
    "MetaInformation"メタデータ

オプション

  • 一般的なImport オプション:
  • IncludeMetaInformationAllインポートするためのメタデータ型
    "Schema"AutomaticTabularオブジェクトの構築に使用するスキーマ
  • 一般的なExportオプション:
  • "Compression"None圧縮方法
    CompressionLevelAutomatic圧縮のレベル
  • "Compression"の設定は以下をサポートする:
  • None圧縮なし
    "Brotli"Brotli 圧縮
    "GZIP"GZIP 圧縮
    "LZ4"LZ4 圧縮
    "LZ4Hadoop"LZ4 Hadoop 圧縮
    "Snappy"Snappy 圧縮
    "ZSTD"ZSTD 圧縮

例題

すべて開くすべて閉じる

  (3)

ParquetファイルからTabularオブジェクトをインポートする:

ファイルの概要をインポートする:

TabularオブジェクトをParquetにエキスポートする:

スコープ  (3)

Import  (3)

ファイルで使用可能なすべての要素を見る:

デフォルトでは,Tabularオブジェクトを返す:

列タイプをインポートする:

Import要素  (14)

"ColumnCount"  (1)

列数を得る:

"ColumnLabels"  (1)

列の名前を読む:

"ColumnTypes"  (1)

列のタイプをインポートする:

"Data"  (2)

ファイルからデータを取得する:

選択した行のみをインポートする:

選択した列のみをインポートする:

"Dataset"  (2)

Datasetとしてデータを取得する:

選択した行のみをインポートする:

選択した列のみをインポートする:

"Dimensions"  (1)

データの次数をインポートする:

"MetaInformation"  (1)

メタデータをインポートする:

"RowCount"  (1)

行数を得る:

"Schema"  (1)

TabularSchemaオブジェクトを取得する:

"Summary"  (1)

ファイルの概要を得る:

"Tabular"  (2)

ファイルからTabularオブジェクトとしてデータを取得する:

選択した行のみをインポートする:

選択した列んのみをインポートする:

Importオプション  (2)

IncludeMetaInformation  (1)

デフォルトでは,ファイルに保存されたすべてのメタデータがインポートされてTabular オブジェクトに埋め込まれる:

メタデータをインポートしない:

"Schema"  (1)

TabularオブジェクトをParquetファイルにエキスポートする:

デフォルトでは, TabularオブジェクトまたはDatasetオブジェクトがインポートされたとき, ファイルに保存されている列ラベルとその型が使用される:

"Schema" オプションを使って,列ラベルと型を指定する:

Exportオプション  (4)

"Compression"  (2)

デフォルトでは圧縮されない:

サポートしている圧縮手法を比較する:

CompressionLevel  (2)

CompressionLevelのデフォルト値はAutomaticであり,圧縮方法ごとに異なるデフォルト値に対応する.

それぞれの手法で最大の圧縮を使用する: