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はわずか2秒でほぼ3700万のレコードをJSONファイルにエクスポートしました。また、COMPRESSION
句を使用して、オンザフライで圧縮を有効にしてエクスポートすることもできます:
それを達成するのに時間がかかりますが、はるかに小さな圧縮ファイルが生成されます: