ArrowDataset

予備知識

    • 効率的な複数ファイルの列指向データ形式.
    • Apache Software Foundationによって開発された.

ImportとExport

  • Import["dir","ArrowDataset"]Tabular オブジェクトとしてArrowDatasetディレクトリをインポートする.
  • Import["dir",{"ArrowDataset",elem,}]は指定された要素をインポートする.
  • Import["dir",{"ArrowDataset",elem,subelem1,}]はサブ要素subelemiをインポートする.これは,部分的なデータのインポートに役に立つ.
  • Export["dir",expr,"ArrowDataset"]exprからArrowDatasetディレクトリを作成する.
  • サポートされる exprの表現には以下が含まれる:
  • {v1,v2,}1列のデータ
    {{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オブジェクト
  • 追加要素は"Format"オプションに応じて指定することができる.要素の詳細な記述については,"Parquet""ArrowIPC""ORC""CSV" "TSV" を参照のこと.
  • デフォルトで,Import"Tabular"要素を使用する.
  • "Tabular"要素の部分データインポートの部分要素は, {"Tabular",rows,cols}の形式で行と列の仕様を取ることができる.ここで,rowscols は次のいずれかになる:
  • nn番目の行または列
    -n末尾からn番目
    n;;mn 番目から m番目まで
    n;;m;;sn 番目から m 番目までの要素をステップ s
    {n1,n2,}指定された行または列の ni番目
  • データ記述要素:
  • "ColumnLabels"列の名前
    "ColumnTypes"各列のデータ型の連想
    "Schema"TabularSchemaオブジェクト

オプション

  • 一般的なImportオプション:
  • "Format"Automatic使用する基礎の形式
    "Partitioning"None分割の方式
  • 一般的なExportオプション:
  • "Format""Parquet"使用する基礎の形式
    "MaxPartitions"4096最大の分割数
    "MaxRowsPerFile"Infinityファイルあたり最大の行数
    "NameTemplate""part{i}"ファイル名のテンプレート
    "Partitioning""Hive"分割スキーム
    "SplitColumns"Automatic分割に使用する列
  • Import"Partitioning"に以下の設定をサポートする:
  • None分割がない
    "Hive"Hiveパーティション
    {col1,col2,}パーティションキーを使って分割するディレクトリ
    {"Directory", {col1,col2,}}パーティションキーを使って分割するディレクトリ
  • Export"Partitioning"に以下の設定をサポートする:
  • "Directory"ディレクトリの分割
    "Hive"Hiveパーティション
  • 追加要素は"Format"オプションに応じて指定することができる.オプションの詳細な記述については,"Parquet""ArrowIPC""ORC""CSV" "TSV" を参照のこと.

例題

すべて開くすべて閉じる

  (2)

Arrowデータ集合をエキスポートする:

表形式のデータ集合をインポートする:

スコープ  (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)

"Format"  (1)

デフォルトでは,ArrowDatasetの形式は入力ディレクトリに保存されているファイルから推測される:

"Format"オプションを使うと,使用する基礎となる形式を指定できる:

"Partitioning"  (1)

デフォルトでは"Partitioning"Noneが使用される.分割に使用される列はインポートされないことに注意:

正しい設定で"Partitioning" オプションを使用して,すべての列を取得する:

Exportオプション  (6)

"Format"  (1)

デフォルトで,Export"Parquet"形式を使用する:

"ArrowIPC" 形式を使う:

"MaxPartitions"  (1)

分割する列内の一意の要素の数が"MaxPartitions" オプションのデフォルト値より大きい場合,Export は失敗する:

許可される分割数を増やす:

"MaxRowsPerFile"  (1)

デフォルトでは,ファイルあたりの行数は無制限である:

ファイルあたりの行数を制限する:

"NameTemplate"  (1)

デフォルトでは,ArrowDatasetファイルの名前のテンプレートとして"part{i}"が使われる:

異なる名前のテンプレートを使う:

"Partitioning"  (1)

デフォルトで,Exportは"Hive"分割を使用する:

"Directory"分割を使う:

"SplitColumns"  (1)

Exportには"SplitColumns" オプションが必要である:

Tabular オブジェクトの行キーだけが "SplitColumns" オプションの値となり得る:

考えられる問題  (1)

Exportには"SplitColumns" オプションが必要である: