美文网首页
403. 阿里云 adb postgress 数据导入踩坑

403. 阿里云 adb postgress 数据导入踩坑

作者: 七镜 | 来源:发表于2022-08-20 22:08 被阅读0次

写在前头:避免使用掌控不了的工具。

最近我们在做数据库性能比对测试,使用的测试集是TPC-H 数据集。数据集已经生成了,就剩下导入的工作。现在记录一下最近的踩坑。

1. 数据结构要求不一致

使用 adb postgres 的 COPY 命令从对象存储导入数据,老是报错 extra data after last expected column ,意思就是表的列,和数据的列没对上。

查找其他教程后发现:导入 TPC-H 数据 postgres 数据库时,需要把每一行最后的分隔符给去了。


最后的分隔符需要去了

2. SQL 执行时间太长会被自动 kill 掉

导入 tpch1000 数据集,最大的 lineitem 表又 1000G 大小的数据,一天执行不完。好家伙,adb pg,默认SQL执行 3 小时不出结果,就变成 timeout 了。

可以在设置一下对应的参数


timeout时间设置

3. 所使用的的账号没有对象存储上传文件的权限

我们适合阿里合作的,结果他们给我分配测试账号时,没分配上传完文件的权限。我这又不准备导入 tpch1000 数据了,准备生成 100G 的数据上传上去测,结果没权限上传。

(最后要到权限了)

4. 对象存储通过网页上传文件,文件最大只能是 5G 大小

我费劲巴力的生成了 100G 的tpch数据,切片设置的是 10,结果最大文件是 7.5G。没办法,重新将切片改大,重新生成吧。

5. 上传之后查询到的数据,比实际的数据要多(致命)

我再次费劲巴力把所有数据上传到了 adb pg上,结果一查询:

select count(*) from tpch100.lineitem;

结果是:9亿条多数据!(正确的数据应该是 6亿多条数据 )


这多的 3000 多万怎么来的?

我以为是我多上传了重复数据。结果我把数据清空,一个分片一个分片传,好家伙:


结果,还是比实际的要多。(查询是3300万,应该是3000万)

我去!!!!!!!!!!!!!!!!!!!
不玩了,还是使用简简单单的 jdbc 导入数据吧,不搞的这复杂了。


感觉是给阿里云的新产品做免费测试了,踩了不少坑,还是决定退坑了。

相关文章

网友评论

      本文标题:403. 阿里云 adb postgress 数据导入踩坑

      本文链接:https://www.haomeiwen.com/subject/nvsmgrtx.html