前提条件
最初の ClickPipe を作成する
- ClickHouse Cloud サービスの SQL Console にアクセスします。
- 左側のメニューで
Data Sourcesボタンを選択し、“Set up a ClickPipe” をクリックします。
- データソースを選択します。
- ClickPipe の名前、説明 (任意) 、IAM ロールまたは認証情報、そのほかの接続情報を入力します。
-
Kinesis ストリーム、Data format、開始オフセットを選択します。
Protobufの場合は、.protoファイルまたはシリアライズされたFileDescriptorSet(最大 768 KiB) をアップロードします。スキーマレジストリは不要です。 UI には、選択した stream のサンプルデータが表示されます。Use Kinesis Enhanced Fan-Out はデフォルトで有効になっています。詳細は Amazon Kinesis のドキュメントを参照してください。
- 次のステップでは、データの取り込み先を新しい ClickHouse テーブルにするか、既存のテーブルを再利用するかを選択できます。画面の指示に従って、テーブル名、スキーマ、設定を変更してください。変更内容は、上部のサンプルテーブルでリアルタイムにプレビューできます。
- また、既存の ClickHouse テーブルにデータを取り込むこともできます。その場合、UI ではソースのフィールドを、選択した宛先テーブル内の ClickHouse フィールドにマッピングできます。
- 最後に、内部 ClickPipes ユーザーの権限を設定できます。
Full access: クラスターへのフルアクセス権を持ちます。宛先テーブルで materialized view や Dictionary を使用する場合に便利です。Only destination table: 宛先テーブルに対するINSERT権限のみを持ちます。
- “Complete Setup” をクリックすると、システムに ClickPipe が登録され、サマリーテーブルに表示されるようになります。
- おめでとうございます! 最初の ClickPipe の設定は正常に完了しました。これが streaming ClickPipe の場合は継続的に動作し、リモートデータソースからデータをリアルタイムで取り込み続けます。それ以外の場合は、バッチを取り込んで完了します。
対応データフォーマット
対応フォーマットは以下のとおりです。圧縮
- gzip
- zstd
- lz4
- snappy (フレーム形式)
この自動検出は、JSON や CSV のようなテキストベースのフォーマットでも安全です。印字可能な ASCII 文字が圧縮のマジックバイトと衝突することはないためです。
サポートされているデータ型
標準型のサポート
- 基本的な数値型 - [U]Int8/16/32/64、Float32/64、BFloat16
- 大きな整数型 - [U]Int128/256
- Decimal 型
- Boolean
- String
- FixedString
- Date、Date32
- DateTime、DateTime64 (UTC タイムゾーンのみ)
- Enum8/Enum16
- UUID
- IPv4
- IPv6
- すべての ClickHouse LowCardinality 型
- 上記のいずれかの型をキーと値に使用する Map (Nullable を含む)
- 上記のいずれかの型を要素に使用する Tuple および Array (Nullable を含む、深さは 1 レベルのみ)
- SimpleAggregateFunction 型 (AggregatingMergeTree または SummingMergeTree の宛先向け)
Variant 型のサポート
Variant(String, Int64, DateTime) など) を手動で指定できます。
ClickPipes では使用する適切な Variant 型を判定する仕組み上、Variant の定義で使用できる整数型または datetime
型は 1 つだけです。たとえば、Variant(Int64, UInt32) はサポートされていません。
JSON 型のサポート
Kinesis 仮想カラム
Add Column ボタンを使って仮想カラムを追加できます。
_raw_message フィールドは、Kinesis の JSON レコード全体だけが必要な場合に使用できます (たとえば、ClickHouse の JsonExtract* 関数を使用して、下流の materialized view
ビューにデータを投入する場合) 。このようなパイプでは、「仮想カラムではない」カラムをすべて削除することで、ClickPipes のパフォーマンスが向上する場合があります。
制限事項
- DEFAULT はサポートされていません。
- 最小の (XS) レプリカサイズで実行する場合、個々のメッセージの上限はデフォルトで 16MB (非圧縮) 、より大きいレプリカでは 32MB (非圧縮) です。この上限を超えるメッセージは error となり、拒否されます。より大きいメッセージが必要な場合は、サポートにお問い合わせください。
パフォーマンス
バッチ処理
- バッチサイズが上限に達した場合 (100,000 行、またはレプリカメモリ 1GB あたり 32MB)
- バッチの保持時間が上限に達した場合 (5 秒)