はじめに
dsbulkのスタート・ガイド。
dsbulk
を初めて使用するユーザーに主な機能を説明します。始める前に
以下の情報およびリソースを入手してください。
- DataStax Academyの登録電子メール・アドレス、ダウンロード・キーまたはプロファイル名、およびパスワード。
dsbulk
をダウンロードしてインストールします。- CQLSHなどのツールを使用してDataStaxテーブルを作成します。
dsbulk
はデータを読み込みますが、キースペースやテーブルの作成は行いません。
主な機能
手順
構成ファイルを使用しない単純な読み込み
-
dsbulk load
コマンドによるCSVデータの読み込み:以下のように、目的のクラスターに属している2つのホスト(初期のコンタクト・ポイント)を指定し、ヘッダーを含むローカル・ファイルexport.csvをキースペースks1およびテーブルtable1に読み込みます。
dsbulk load -url export.csv -k ks1 -t table1 -h '10.200.1.3, 10.200.1.4' -header true
url
は、ローカル・ファイルなどのリソースへのパスや、データの読み取り元/書き込み先へのパスを指定できます。以下のように、外部のデータ・ソースに加えて、クラスター・ホストのポートも指定します。dsbulk load -url https://svr/data/export.csv -k ks1 -t table1 -h '10.200.1.3, 10.200.1.4' -port 9876
CSVデータが読み込みスクリプトgenerate_dataによって生成されたら、
stdin
から読み込みます。このデータは、localhost
コンタクト・ポイントがあるクラスターのキースペースks1とテーブルtable1に読み込まれます(ホストが定義されていない場合のデフォルト)。指定されていない場合、デフォルトでは、入力ファイルのヘッダー行からフィールド名が読み込まれます。generate_data | dsbulk load -url stdin:/-k ks1 -t table1
構成ファイルを使用しない単純なアンロード
-
dsbulk unload
コマンドによるCSVデータのアンロード:キースペースks1 aおよびテーブルtable1とデータのやり取りをする外部ファイルを指定します。dsbulk unload -url myData.csv -k ks1 -t table1
構成ファイルの作成
-
dsbulk
の値を設定するための構成ファイルは、以下のように、1行につきオプション1つの単純な形式で書き込まれます。############ MyConfFile.conf ############ dsbulk { # The name of the connector to use connector.name = "csv" # CSV field delimiter connector.csv.delimiter = "|" # The keyspace to connect to schema.keyspace = "myKeyspace" # The table to connect to schema.table = "myTable" # The field-to-column mapping schema.mapping = "0=name, 1=age, 2=email" }
ヒント: 構成ファイルの設定は常に構成ファイルを使用するためにdsbulk
接頭辞から始まりますが、コマンド・ラインでは、この接頭辞が省略されます。混乱を避けるために、構成ファイルはdsbulk { connector.name = "csv" ...}
という同等のHOCON構文でフォーマットされています。-f filename
を指定します。ここで、filename
は構成ファイルです。dsbulk load -f myConfFile.conf -url export.csv -k ks1 -t table1
dsbulkでのSSLの使用
-
SSLを
dsbulk
で使用するには、最初にDSEのセキュリティ文書を参照してSSLを設定します。SSLオプションはコマンド・ラインで指定できますが、オプション名が長い場合は、構成ファイルをお勧めします。
コマンドは以下のようになります。driver.ssl.keystore.password = cassandra driver.ssl.keystore.path = "/Users/johndoe/tmp/ssl/keystore.node0" driver.ssl.provider = OpenSSL driver.ssl.truststore.password = dserocks driver.ssl.truststore.path = "/Users/johndoe/tmp/ssl/truststore.node0"
dsbulk load -f mySSLFile.conf -url file1.csv -k ks1 -t table1