メインコンテンツまでスキップ
メインコンテンツまでスキップ

JSONのエクスポート

インポートに使用されるほぼすべてのJSON形式は、エクスポートにも使用できます。最も一般的なのはJSONEachRowです:

または、カラム名をスキップすることでディスクスペースを節約できるJSONCompactEachRowを使用できます:

データ型を文字列としてオーバーライドする

ClickHouseはデータ型を尊重し、それに応じてJSONを標準に従ってエクスポートします。しかし、すべての値を文字列としてエンコードする必要がある場合は、JSONStringsEachRow形式を使用できます:

これで、hitsの数値カラムは文字列としてエンコードされます。文字列としてのエクスポートは、すべてのJSON*形式でサポートされており、JSONStrings\*およびJSONCompactStrings\*形式を探求できます:

データと一緒にメタデータをエクスポートする

一般的なJSON形式は、アプリで人気があり、結果データだけでなくカラムの型やクエリの統計もエクスポートします:

JSONCompact形式は、同じメタデータを表示しますが、データ自体はコンパクトな形式を使用します:

すべての値を文字列としてエンコードするには、JSONStringsまたはJSONCompactStringsのバリアントを検討してください。

JSONデータと構造をコンパクトにエクスポートする方法

データとその構造を効率的に得るには、JSONCompactEachRowWithNamesAndTypes形式を使用します:

これにより、カラム名と型の2つのヘッダー行を前置したコンパクトなJSON形式が使用されます。この形式は、別のClickHouseインスタンスや他のアプリにデータを取り込むために使用できます。

JSONをファイルにエクスポートする

エクスポートされたJSONデータをファイルに保存するには、INTO OUTFILE句を使用できます:

ClickHouseは、ほぼ3700万件のレコードをJSONファイルにエクスポートするのにわずか2秒しかかかりません。また、COMPRESSION句を使用して、オンザフライで圧縮することもできます:

こちらは実行に時間がかかりますが、はるかに小さい圧縮ファイルを生成します: