有人用 postgres-xl 做大数据分析吗?感觉不是很好用啊

2020-01-22 14:58:58 +08:00
 leavan

公司大数据这块一直用 hive 跑的,但是 hive 实时性不行,跑跑后台任务还可以。 最近想把这个实时性查询弄上去,spark 是一个选择,肯定比 hive 快,但是毕竟是 scala 写的,上限应该不如基于 C 的查询引擎快,这次想要一步到位。 impala 是一个选项,但问题也挺多的,比如复杂类型只支持 parquet 类型存储,然而公司的数据一直都是 text 存的,光转这个就是一个巨大的工程,还有一些问题比如 partition key 不支持 date 类型、map 根据键访问值的方式过于奇怪等等。 最后打算用 postgres-xl,因为公司用 pg 比较多,线上数据库也是 pgxl,也写过一些插件对 pg 源码也比较熟悉。但是做了一阵子发现这个东西简直不适合做大数据啊,不支持多进程,生成的查询计划也很蠢,而且查询过程中连个进度条都没有。 想问一下大家有拿这个做大数据分析的吗?还是我的使用方法有问题?

3947 次点击
所在节点    程序员
20 条回复
chennqqi
2020-01-22 15:01:18 +08:00
看场景和数据量呀,用 ES 不香吗
leavan
2020-01-22 15:04:24 +08:00
@chennqqi 数据量大概一天几十 GB,公司对数据分析的需求希望尽可能都通过 SQL 来做。
vveexx
2020-01-22 15:11:02 +08:00
如果并发不高,试试 clickhouse ?如果实时性要求很高,那就换 flink
dlsflh
2020-01-22 15:12:38 +08:00
完全外行,看到这个突然想到或许可以请教一下楼主和点进来的大佬们。
传统制造业,有一些时序的传感器数据,基本上两三天一次试验,会产生好几个 1GB 的 txt 文件。(传感器采样频率不一)
最近有了一些数据分析的任务,比如说统计一个布尔值的传感器在某天到某天这段时间内一共开关的次数;还有一些在 A 传感器大于 X,B 传感器小于 Y…的条件下输出所有的时间片段。
我现在在用 pandas 针对某个具体问题写一个脚本在勉强应付,请问一下对于计算机基础不高的企业有什么更好的工具吗?(学习能力有)
上数据库能比较优雅解决这些问题吗?最好是能让现在还在把数据导入 Excel 然后用 excel 分析数据的同事有第一次工业革命纺织女工见到纺织机的那种感觉。
cqcn1991
2020-01-22 15:12:47 +08:00
很奇怪为啥不用 spark
cqcn1991
2020-01-22 15:13:57 +08:00
@dlsflh 这就单机么,单机 python 足够了
dlsflh
2020-01-22 15:20:17 +08:00
@cqcn1991 单机是啥意思?如果有比较成熟的解决方案买服务器应该也行。
现在 pandas 脚本每次都要先导入数据, 有什么办法加速呢?我看数据库经常有什么索引啥的,是不是能快点?
现在历史文件加起来也有好几百 GB 了,希望新的方法能够统一管理这些文件,我现在限于自己现学现卖的水平还在每个脚本循环处理所有文件。
leavan
2020-01-22 15:21:43 +08:00
@vveexx 实时性不是 flink 那种更新很快的实时性,大概就是需要数据的同事心血来潮写了一个 SQL 查询,从敲进去 SQL 到结果出来的速度很快。公司的数据都是存在 hdfs 上的,所以比较希望查询引擎能轻量级一点,做个 hdfs 的挂件就行,不要自己管理数据。
leavan
2020-01-22 15:22:51 +08:00
@cqcn1991 spark 确实是一个解决方案,主要问题是他是 scala 写的,速度不如 C 系列的比如 impala 快,这次想一步到位。
find
2020-01-22 15:44:48 +08:00
速度不如 c 快 ,出不如汇编呢? 还在往这个方向去想,注定不是一个好的 engineer,pg 用的多 可使用 gp 啊 ,还有很多 ap 引擎 一抓一大把 presto duird clickhouse drill tezen
MinQ
2020-01-22 15:47:09 +08:00
@dlsflh 如果数据能上云的话就买个阿里云的 HBase,每次把数据传上去,计算的时候再按需求从 HBase 中取。不行的话就只能本地搭建 Hadoop 集群了
undeflife
2020-01-22 15:52:38 +08:00
用 impala,新数据用 parquet,历史数据可以保持 text,最上层用 view 将两个数据表包装即可。同时也可以跑任务将 text 转换成 parquet,看你集群的处理能力,几十 T 数据的 1 周应该是可以完成格式转换的。
postgres-xl 跑大数据我没了解过,是否存在用了 postgres-xl 后你就只能用 postgres-xl 了,而使用 hive 的生态,你有大量的解决方案可选?如果答案是肯定的,那这个选择也显而易见了。

另外,你对于语言性能的纠结有些莫名,你最底层的存储还是 hdfs 呢? java 写的。
sunmacarenas
2020-01-22 15:55:14 +08:00
你这种其实是数据集市数据仓库的性能,可以考虑一下内存数据库,把所有热数据放内存里,缺点就是硬件成本有点高
chennqqi
2020-01-22 16:15:48 +08:00
你这个数据量看你想花多大成本 spark/flink 是一个方案 ES/Clickhouse 也能解决
funky
2020-01-22 16:27:48 +08:00
为啥不试试 timescaledb
wangxiyu191
2020-01-22 20:26:50 +08:00
@dlsflh 有点时序数据库的感觉,可以看下 influxdb,不想自己费劲运维的话阿里云也有 TSDB。
wangxiyu191
2020-01-22 20:30:27 +08:00
在线分析而且是对 PG 有底子的话可以看下 Greenplum。此处也安利一下 AnalyticDB (如果能用云服务的话)。
dlsflh
2020-01-22 20:34:43 +08:00
@MinQ
@wangxiyu191
感谢两位。
公司数据很重要,不仅办公全内网,系统 win 7 估计也不能改 TAT。
vveexx
2020-01-23 10:13:43 +08:00
SparkSQL 应该最合适了,也不是非得用 scala
snappyone
2020-01-24 14:20:43 +08:00
因为 spark 是 scala 所以不用????

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/639864

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX