V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
leavan
V2EX  ›  程序员

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

  •  
  •   leavan · 2020-01-22 14:58:58 +08:00 · 4154 次点击
    这是一个创建于 1765 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    20 条回复    2020-01-24 14:20:43 +08:00
    chennqqi
        1
    chennqqi  
       2020-01-22 15:01:18 +08:00
    看场景和数据量呀,用 ES 不香吗
    leavan
        2
    leavan  
    OP
       2020-01-22 15:04:24 +08:00
    @chennqqi 数据量大概一天几十 GB,公司对数据分析的需求希望尽可能都通过 SQL 来做。
    vveexx
        3
    vveexx  
       2020-01-22 15:11:02 +08:00
    如果并发不高,试试 clickhouse ?如果实时性要求很高,那就换 flink
    dlsflh
        4
    dlsflh  
       2020-01-22 15:12:38 +08:00 via Android
    完全外行,看到这个突然想到或许可以请教一下楼主和点进来的大佬们。
    传统制造业,有一些时序的传感器数据,基本上两三天一次试验,会产生好几个 1GB 的 txt 文件。(传感器采样频率不一)
    最近有了一些数据分析的任务,比如说统计一个布尔值的传感器在某天到某天这段时间内一共开关的次数;还有一些在 A 传感器大于 X,B 传感器小于 Y…的条件下输出所有的时间片段。
    我现在在用 pandas 针对某个具体问题写一个脚本在勉强应付,请问一下对于计算机基础不高的企业有什么更好的工具吗?(学习能力有)
    上数据库能比较优雅解决这些问题吗?最好是能让现在还在把数据导入 Excel 然后用 excel 分析数据的同事有第一次工业革命纺织女工见到纺织机的那种感觉。
    cqcn1991
        5
    cqcn1991  
       2020-01-22 15:12:47 +08:00 via Android
    很奇怪为啥不用 spark
    cqcn1991
        6
    cqcn1991  
       2020-01-22 15:13:57 +08:00 via Android
    @dlsflh 这就单机么,单机 python 足够了
    dlsflh
        7
    dlsflh  
       2020-01-22 15:20:17 +08:00 via Android
    @cqcn1991 单机是啥意思?如果有比较成熟的解决方案买服务器应该也行。
    现在 pandas 脚本每次都要先导入数据, 有什么办法加速呢?我看数据库经常有什么索引啥的,是不是能快点?
    现在历史文件加起来也有好几百 GB 了,希望新的方法能够统一管理这些文件,我现在限于自己现学现卖的水平还在每个脚本循环处理所有文件。
    leavan
        8
    leavan  
    OP
       2020-01-22 15:21:43 +08:00
    @vveexx 实时性不是 flink 那种更新很快的实时性,大概就是需要数据的同事心血来潮写了一个 SQL 查询,从敲进去 SQL 到结果出来的速度很快。公司的数据都是存在 hdfs 上的,所以比较希望查询引擎能轻量级一点,做个 hdfs 的挂件就行,不要自己管理数据。
    leavan
        9
    leavan  
    OP
       2020-01-22 15:22:51 +08:00
    @cqcn1991 spark 确实是一个解决方案,主要问题是他是 scala 写的,速度不如 C 系列的比如 impala 快,这次想一步到位。
    find
        10
    find  
       2020-01-22 15:44:48 +08:00 via iPhone
    速度不如 c 快 ,出不如汇编呢? 还在往这个方向去想,注定不是一个好的 engineer,pg 用的多 可使用 gp 啊 ,还有很多 ap 引擎 一抓一大把 presto duird clickhouse drill tezen
    MinQ
        11
    MinQ  
       2020-01-22 15:47:09 +08:00   ❤️ 1
    @dlsflh 如果数据能上云的话就买个阿里云的 HBase,每次把数据传上去,计算的时候再按需求从 HBase 中取。不行的话就只能本地搭建 Hadoop 集群了
    undeflife
        12
    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
        13
    sunmacarenas  
       2020-01-22 15:55:14 +08:00
    你这种其实是数据集市数据仓库的性能,可以考虑一下内存数据库,把所有热数据放内存里,缺点就是硬件成本有点高
    chennqqi
        14
    chennqqi  
       2020-01-22 16:15:48 +08:00
    你这个数据量看你想花多大成本 spark/flink 是一个方案 ES/Clickhouse 也能解决
    funky
        15
    funky  
       2020-01-22 16:27:48 +08:00 via iPhone
    为啥不试试 timescaledb
    wangxiyu191
        16
    wangxiyu191  
       2020-01-22 20:26:50 +08:00
    @dlsflh 有点时序数据库的感觉,可以看下 influxdb,不想自己费劲运维的话阿里云也有 TSDB。
    wangxiyu191
        17
    wangxiyu191  
       2020-01-22 20:30:27 +08:00
    在线分析而且是对 PG 有底子的话可以看下 Greenplum。此处也安利一下 AnalyticDB (如果能用云服务的话)。
    dlsflh
        18
    dlsflh  
       2020-01-22 20:34:43 +08:00 via Android
    @MinQ
    @wangxiyu191
    感谢两位。
    公司数据很重要,不仅办公全内网,系统 win 7 估计也不能改 TAT。
    vveexx
        19
    vveexx  
       2020-01-23 10:13:43 +08:00
    SparkSQL 应该最合适了,也不是非得用 scala
    snappyone
        20
    snappyone  
       2020-01-24 14:20:43 +08:00 via Android
    因为 spark 是 scala 所以不用????
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1320 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 23:43 · PVG 07:43 · LAX 15:43 · JFK 18:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.