コンテンツにスキップ

16.4.4 csvimport / csvexport

csvimportcsvexportは、CSVファイル専用の簡易インポート/エクスポートラッパーです。machloaderのCSV関連オプションを簡略化して提供します。以下にないオプションもmachloaderと同様に使用できます。

csvimport

CSVファイルをMachbaseテーブルにインポートします。

オプション一覧

オプション説明
-t, --table=TABLE_NAME対象テーブル名
-d, --data=DATA_FILEインポートするCSVファイル名
-s, --server=SERVERサーバーIPアドレス (デフォルト値: 127.0.0.1)
-P, --port=PORTサーバーポート番号 (デフォルト値: 5656)
-u, --user=USERユーザー名 (デフォルト値: SYS)
-p, --password=PASSWORDユーザーパスワード (デフォルト値: MANAGER)
-HCSVの先頭行をヘッダーとして扱い、取り込みから除外
-Cテーブルがなければ自動作成(-Hを併用するとヘッダーを列名として使用)
-m, --mode=MODEインポートモード。append(デフォルト)またはreplace
-a, --atime_ARRIVAL_TIME列を含める
-F, --dateformat=DATEFORMATdatetime列の日付形式
-l, --log=LOG_FILE実行ログファイル
-b, --bad=BAD_FILE取り込みに失敗した行を記録するbadファイル
-I, --silentバナーと状態を表示せずに実行

基本的な使用方法

テーブル名とファイル名を指定します。

csvimport -t table_name -d data.csv

オプションなしで引数だけでも実行できます(順序は任意)。

csvimport table_name data.csv
csvimport data.csv table_name

ヘッダー行の処理

CSVの先頭行をヘッダーとして扱い、データから除外します。

csvimport -t table_name -d data.csv -H

テーブルの自動作成

テーブルがなければ自動作成します。

# 列名をc0、c1、...として自動生成
csvimport -t table_name -d data.csv -C

# CSV ヘッダーを列名として使用
csvimport -t table_name -d data.csv -C -H

自動作成した列の型はすべてvarchar(32767)です。

replaceモード

既存データを削除し、CSVファイルから再び取り込みます。

csvimport -t table_name -d data.csv -m replace

サーバー接続情報の指定

csvimport -s 192.168.0.10 -P 5656 -u SYS -p MANAGER \
    -t sensor_data -d data.csv

csvexport

MachbaseテーブルのデータをCSVファイルへエクスポートします。

オプション一覧

オプション説明
-t, --table=TABLE_NAMEエクスポートするテーブル名
-d, --data=DATA_FILE保存するCSVファイル名
-s, --server=SERVERサーバーIPアドレス (デフォルト値: 127.0.0.1)
-P, --port=PORTサーバーポート番号 (デフォルト値: 5656)
-u, --user=USERユーザー名 (デフォルト値: SYS)
-p, --password=PASSWORDユーザーパスワード (デフォルト値: MANAGER)
-H列名をCSVヘッダーとして生成
-a, --atime_ARRIVAL_TIME列を含める
-F, --dateformat=DATEFORMATdatetime列の日付形式
-l, --log=LOG_FILE実行ログファイル
-I, --silentバナーと状態を表示せずに実行

基本的な使用方法

csvexport -t table_name -d output.csv

オプションなしで引数だけでも実行できます。

csvexport table_name output.csv
csvexport output.csv table_name

ヘッダーを含むエクスポート

列名をCSVファイルの先頭行(ヘッダー)として出力します。

csvexport -t table_name -d output.csv -H

_ARRIVAL_TIMEを含むエクスポート

csvexport -t table_name -d output.csv -a

使用例

# 基本的なインポート
csvimport -t sensor_data -d sensor_20240101.csv

# ヘッダー付きCSVのインポート
csvimport -t sensor_data -d sensor_20240101.csv -H

# 全データのエクスポート(ヘッダーを含む)
csvexport -t sensor_data -d export_20240101.csv -H

# ログファイルを指定してインポート
csvimport -t sensor_data -d data.csv -H \
    -l import.log -b import.bad

# リモートサーバーからエクスポート
csvexport -s 192.168.0.10 -P 5656 -u SYS -p MANAGER \
    -t sensor_data -d remote_export.csv -H -a
最終更新日