ローカルファイルの挿入
clickhouse-client
を使用して、ローカルファイルをClickHouseサービスにストリームすることができます。これにより、強力で便利なClickHouse関数を使用してデータを前処理することが可能になります。例を見てみましょう...
comments.tsv
というTSVファイルがあり、Hacker Newsのコメントが含まれていて、ヘッダー行にはカラム名が含まれていると仮定します。データを挿入する際には入力フォーマットを指定する必要があります;この場合はTabSeparatedWithNames
となります:
- Hacker Newsデータ用のテーブルを作成します:
author
カラムを小文字に変換したいので、lower
関数を使用します。また、comment
文字列をトークンに分割し、その結果をtokens
カラムに格納したいので、extractAll
関数を使用します。これらすべてを1つのclickhouse-client
コマンドで実行します。comments.tsv
ファイルが<
演算子を使用してclickhouse-client
にパイプされることに注意してください:
注記
input
関数はここで便利であり、hackernews
テーブルに挿入されるデータを変換することができます。input
への引数は、受信する生データのフォーマットであり、他の多くのテーブル関数でもこれを見ることになります(受信データのスキーマを指定する場所)。
- これで完了です!データがClickHouseにアップロードされました:
結果は次の通りです:
- 別のオプションとして、
cat
のようなツールを使用してファイルをclickhouse-client
にストリームすることもできます。たとえば、次のコマンドは<
演算子を使用した場合と同じ結果になります:
clickhouse-clientに関するドキュメントページを訪れて、ローカルオペレーティングシステムにclickhouse-client
をインストールする方法の詳細を確認してください。