DataStore の I/O 操作
DataStore は、さまざまなファイル形式やデータソースからの読み書きをサポートしています。
データの読み込み
CSV ファイル
例:
Parquet ファイル
大規模なデータセット向けに推奨される、圧縮効率に優れた列指向フォーマットです。
例:
JSON ファイル
例:
Excel ファイル
例:
SQL データベース
例:
その他のフォーマット
データの書き込み
to_csv
CSV 形式でエクスポートします。
例:
to_parquet
Parquet 形式にエクスポートします(大規模なデータのエクスポートに推奨)。
使用例:
to_json
JSON 形式で出力します。
例:
to_excel
Excel 形式でエクスポートします。
例:
to_sql
SQL データベースへのエクスポートや SQL 文字列の生成を行います。
例:
その他のエクスポート方法
ファイル形式の比較
| 形式 | 読み取り速度 | 書き込み速度 | ファイルサイズ | スキーマ | 最適な用途 |
|---|---|---|---|---|---|
| Parquet | 高速 | 高速 | 小さい | あり | 大規模データセット、分析処理 |
| CSV | 中程度 | 高速 | 大きい | なし | 互換性重視、シンプルなデータ |
| JSON | 低速 | 中程度 | 大きい | 一部あり | API、ネスト構造のあるデータ |
| Excel | 低速 | 低速 | 中程度 | 一部あり | 非技術系ユーザーとの共有 |
| Feather | 非常に高速 | 非常に高速 | 中程度 | あり | プロセス間のデータ共有、pandas |
推奨事項
-
分析ワークロード向け: Parquet を使用
- 列指向フォーマットにより、必要なカラムだけを読み取れる
- 優れた圧縮率
- データ型を保持できる
-
データ交換向け: CSV または JSON を使用
- 高い互換性
- 人間が読みやすい
-
pandas との相互運用向け: Feather または Arrow を使用
- 最速のシリアライズ
- 型情報を保持できる
圧縮サポート
圧縮ファイルの読み込み
圧縮ファイルへの書き込み
圧縮オプション
| 圧縮方式 | 速度 | 圧縮率 | 用途 |
|---|---|---|---|
snappy | 非常に高速 | 低い | Parquet のデフォルト |
lz4 | 非常に高速 | 低い | 速度重視 |
gzip | 中程度 | 高い | 互換性重視 |
zstd | 高速 | 非常に高い | バランス最適 |
bz2 | 低速 | 非常に高い | 最大圧縮 |
ストリーミング I/O
メモリに収まらないような非常に大きなファイルに対しては:
チャンク単位での読み取り
ClickHouse Streaming の利用
リモートデータソース
HTTP/HTTPS
S3
GCS、Azure、HDFS
Cloud ストレージのオプションについては、Factory Methods を参照してください。