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

小白求助大数据大佬 spark 问题

  •  
  •   apostle · 2021-12-09 21:43:32 +08:00 via Android · 1506 次点击
    这是一个创建于 1081 天前的主题,其中的信息可能已经有所发展或是发生改变。
    请教各位大佬,我用 spark 算的一张几十万级别的表,结果保存到 hive. 结果任务卡在 save task 几个小时,该如何优化呢?实例代码如下

    df.write.format("orc"). saveAsTable("db. table")

    df 是一个几十万条数据的 dataframe
    10 条回复    2021-12-10 08:30:36 +08:00
    wloverine
        1
    wloverine  
       2021-12-09 21:49:24 +08:00
    几十万不应该卡住呀,看下 spark ui 上耗时在哪里,是不是计算执行耗时
    apostle
        2
    apostle  
    OP
       2021-12-09 21:50:11 +08:00 via Android
    df 的结构如下
    Id string
    Itemids arrary< string>
    分区字段是 partition=id%100 来填充
    apostle
        3
    apostle  
    OP
       2021-12-09 21:54:12 +08:00 via Android
    @wloverine 我在 ui 上确认过了显示 save 卡了一个多两个小时还没跑完 不过我也不确定 明天给大佬上图
    apostle
        4
    apostle  
    OP
       2021-12-09 21:56:31 +08:00 via Android
    @wloverine 之前也没跑过这么大数据量 正常应该是多久呀
    cs419
        5
    cs419  
       2021-12-09 22:03:23 +08:00
    几十万条数据?
    IDE 里 单机就能跑吧 有必要拆成 100 个么

    可以考虑 折半查找
    是不是某些数据导致的卡死

    好久之前 写过 spark
    当时 提交任务 老是跑挂掉
    后来发现是 maven 中的 spark 版本 与 部署的版本不一致
    zhusimaji
        6
    zhusimaji  
       2021-12-09 22:25:31 +08:00 via iPhone
    几十万数据很少了,partitions 也不要设那么多吧,具体原因看下日志吧,web 页面应该有提示
    bigwhite2021
        7
    bigwhite2021  
       2021-12-09 23:59:15 +08:00
    几十万的数据很小了,Itemids arrary< string> 里面数据很大吗?没必要分 100 个分区吧,只要保存的文件小于 128MB 应该一个分区就行了吧,具体原因可以看下 UI 里的日志和 task 的执行时间。
    pengtdyd
        8
    pengtdyd  
       2021-12-10 00:24:18 +08:00
    跑一下 spark 的测试程序,看看是不是环境问题
    wloverine
        9
    wloverine  
       2021-12-10 08:06:37 +08:00
    @apostle 几十万应该是很快的,喝杯水的功夫就跑完了
    diggzhang
        10
    diggzhang  
       2021-12-10 08:30:36 +08:00
    partition=id%100
    ----------------------------------
    分区设置不合理导致。可能在加载分区目录阶段已经频繁 GC ,最终 OOM 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   858 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:54 · PVG 05:54 · LAX 13:54 · JFK 16:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.