数据集1 英国房地产支付价格
https://clickhouse.com/docs/zh/getting-started/example-datasets/uk-price-paid
问题
由于公司电脑的Ubuntu子系统访问不了内网,下载不了数据,我是在电脑之间下载csv文件然后在子系统Ubuntu进行如下SQL 导入的
错误是因为在尝试解析CSV文件的过程中,ClickHouse遇到了格式错误。这种问题通常是由于某一行的数据格式错误导致的,可能是因为某个值中包含了未转义的逗号,或者该行的列数与预期不符。
为了解决这个问题,你可以:
1. 手动检查并修复CSV文件中的有问题的行,或者
2. 使用Python脚本在导入ClickHouse之前清理CSV文件。
以下是一个Python脚本示例,它读取CSV文件,检查每行的列数是否正确,然后将清理后的数据写入新文件:
import csv
input_file = "path/to/your/input.csv"
output_file = "path/to/your/output.csv"
expected_columns = 16
with open(input_file, "r") as f_in, open(output_file, "w", newline="") as f_out:
reader = csv.reader(f_in)
writer = csv.writer(f_out)
for row_num, row in enumerate(reader, start=1):
if len(row) == expected_columns:
writer.writerow(row)
else:
print(f"跳过行 {row_num},因为列数不正确")
print("已将清理后的CSV文件保存到", output_file)
将 `path/to/your/input.csv` 和 `path/to/your/output.csv` 替换为实际的输入和输出CSV文件的路径。同时,更新 `expected_columns` 变量以匹配CSV文件中预期的列数。
运行此脚本后,您可以尝试再次将清理后的CSV文件导入ClickHouse。
拷贝数据到clickhouse 默认路径下
mv ./ck-test-data-england/pp-complete-2.csv /var/lib/clickhouse/user_files/
导入数据到表中
INSERT INTO testing.uk_price_paid
WITH
splitByChar(' ', postcode) AS p
SELECT
toUInt32(price_string) AS price,
parseDateTimeBestEffortUS(time) AS date,
p[1] AS postcode1,
p[2] AS postcode2,
transform(a, ['T', 'S', 'D', 'F', 'O'], ['terraced', 'semi-detached', 'detached', 'flat', 'other']) AS type,
b = 'Y' AS is_new,
transform(c, ['F', 'L', 'U'], ['freehold', 'leasehold', 'unknown']) AS duration,
addr1,
addr2,
street,
locality,
town,
district,
county
FROM file(
'pp-complete-2.csv',
'CSV',
'uuid_string String,
price_string String,
time String,
postcode String,
a String,
b String,
c String,
addr1 String,
addr2 String,
street String,
locality String,
town String,
district String,
county String,
d String,
e String'
) SETTINGS max_http_get_redirects=10;
验证数据
这里具体的操作就不 post 了,毋容置疑 ck 的速度是很快的。
1 数据量
2 空间大小
数据集2 来自 The OpenSky Network 2020 的众包空中交通数据
https://clickhouse.com/docs/zh/getting-started/example-datasets/opensky
数据验证
1 数据量
2 空间大小
数据3 Star Schema Benchmark
https://clickhouse.com/docs/zh/getting-started/example-datasets/star-schema
验证数据
数据量 1亿多条
空间大小
聚合计算
耗费 440ms 1亿多数据 很快了