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

做大数据方向的 Java 开发,什么水平可以胜任?

  •  
  •   cirton · 2019-01-28 09:57:14 +08:00 · 8796 次点击
    这是一个创建于 2108 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不涉及 java web 的话,java 掌握到什么程度可以胜任呢?

    40 条回复    2020-11-18 20:35:33 +08:00
    xiaoidea
        1
    xiaoidea  
       2019-01-28 10:03:06 +08:00
    关注
    notfound09
        2
    notfound09  
       2019-01-28 10:18:43 +08:00
    同关注
    y547679519
        3
    y547679519  
       2019-01-28 10:22:06 +08:00
    大部分情况下会写 sql 就行了
    zhangneww
        4
    zhangneww  
       2019-01-28 10:29:26 +08:00
    大数据有那么多方向,你说的也太笼统了,做 Spark ? Hive ? ETL ?实时计算?底层开发?。
    yangzhezjgs
        5
    yangzhezjgs  
       2019-01-28 10:30:52 +08:00
    luozic
        6
    luozic  
       2019-01-28 10:32:36 +08:00 via iPhone
    是做算法 还是底层+优化 还是做 dsl ?
    Navee
        7
    Navee  
       2019-01-28 10:32:51 +08:00
    同#3 楼,大多数情况你要知道数据如何处理,代码都不复杂
    DragonPost
        8
    DragonPost  
       2019-01-28 11:15:16 +08:00
    我觉得,首先重点是,你得看得到真实数据。
    一直看不到真实数据要我们搭平台,实时同步,然后遇到特殊数据根本不知道哪里出错了。
    xhinliang
        9
    xhinliang  
       2019-01-28 11:21:42 +08:00
    为啥要往后端方向发展呢,我一个做 Java 后端的还想往大数据方向发展呢
    scalaer
        10
    scalaer  
       2019-01-28 11:41:43 +08:00
    运维 + sql
    funky
        11
    funky  
       2019-01-28 13:24:35 +08:00
    服务端
    zjsxwc
        12
    zjsxwc  
       2019-01-28 13:44:16 +08:00
    没有什么是精通 sql 搞不定的,我同学在电信还在是写 sql 与存储过程。。。
    cirton
        13
    cirton  
    OP
       2019-01-28 14:46:18 +08:00
    算法需要用到 java 吗?用 scala 或者 python 的比较多吧。

    就身边的例子来说,java 主要还是用于 web 方向开发,java 在大数据项目中一般就是做接口开发(kafka,flume, es 等)。
    不知道大家接触到的是什么情况?
    cirton
        14
    cirton  
    OP
       2019-01-28 14:47:14 +08:00
    @luozic dsl 是什么?
    xiaoshenke
        15
    xiaoshenke  
       2019-01-28 14:54:05 +08:00
    不建议转。我已经往回转了
    funky
        16
    funky  
       2019-01-28 14:54:15 +08:00
    java,scala,N 多大数据组件
    cirton
        17
    cirton  
    OP
       2019-01-28 14:56:05 +08:00
    @xiaoshenke 为什么不建议转呢?往回转是指做 java web 开发吗?
    xiaoshenke
        18
    xiaoshenke  
       2019-01-28 14:59:20 +08:00
    @cirton java 的方向太多了 我建议你可以往中间件方向靠。不建议转的原因是大数据很难作出成绩,组件都比较成熟或稳定,你真过去会发现你要么是写 sql 的,要么是做运维的,都没什么前景。
    Wisho
        19
    Wisho  
       2019-01-28 15:10:32 +08:00
    只有巨头有能力在大数据这块做底层、框架和系统的开发,例如百度早年硬是用 c++重写 hadoop,阿里现在的 MaxCompute 和 Blink。
    中厂都是把开源的那一堆组件拼在一起,做成 pipeline,封装一下对内服务,本质上还是普通后端开发。
    小厂无论是数据量,还是人才,都不会去做“大数据”的东西,即使做也都是 sql 一把梭出报表,spark sql 工程师和 hql 工程师了解一下。
    janxin
        20
    janxin  
       2019-01-28 15:14:08 +08:00
    会写 SQL 的就可以用了
    cyril4free
        21
    cyril4free  
       2019-01-28 16:13:06 +08:00
    用上框架就是普通后端开发,外加事务和性能调优吧。如果是写框架那是真牛了。
    pwrliang
        22
    pwrliang  
       2019-01-28 16:23:51 +08:00 via Android
    @Wisho 没错,我现在天天写 SQL.非常后悔
    snappyone
        23
    snappyone  
       2019-01-28 16:28:30 +08:00
    写业务的基本就是懂 sql 就行,把业务转化为 sql/类 sql 的语言。
    做底层框架开发要求相对比较高,底层的 java、scala、反射、分布式、各种缓存、二级索引,比如我现在就在蛋疼得写一个 sql 解析器,把 sql 语法转化为通用的数据处理任务,屏蔽业务层开发复杂度。。。
    Wisho
        24
    Wisho  
       2019-01-28 16:41:43 +08:00
    @snappyone 老哥,纯手写的话了解下 antlr v4 ?高层抽象一点的话看看 calcite 那套能用不
    snappyone
        25
    snappyone  
       2019-01-28 16:50:24 +08:00
    @Wisho 我现在用 druid 做基本的解析,然后想办法匹配到我们的业务层对应方法组件,这两个我也去看看,谢啦
    lycbug666
        26
    lycbug666  
       2019-01-28 17:49:31 +08:00
    @snappyone 之前做了个 Flink SQL 的解析器,就是用的 calcite
    WaitingForSun
        27
    WaitingForSun  
       2019-01-28 20:32:57 +08:00
    @lycbug666 我也在做这个耶,握个抓
    CaptainKevin
        28
    CaptainKevin  
       2019-01-28 21:57:19 +08:00 via Android
    上层工作做大数据系统,下层定制大数据组件
    liprais
        29
    liprais  
       2019-01-28 22:26:09 +08:00
    sql 想要写的好也不容易,眼高手低要不得
    fuyufjh
        30
    fuyufjh  
       2019-01-29 00:45:29 +08:00
    大数据也分很多种啊。上面有人提到了 calcite,可以一读,代码质量很高
    lycbug666
        31
    lycbug666  
       2019-01-29 01:13:38 +08:00 via iPhone
    @WaitingForSun 在阿里吗?感觉用上实时计算的公司还不是很多
    limbo0
        32
    limbo0  
       2019-01-29 01:28:41 +08:00 via Android
    @lycbug666 都是搞 flink 的啊,实时计算现在很多啊,一般都是离线+实时啊
    WaitingForSun
        33
    WaitingForSun  
       2019-01-29 09:43:53 +08:00
    @lycbug666 圈子很小很小的 哈哈哈哈哈
    pain400
        34
    pain400  
       2019-01-29 10:14:18 +08:00
    @Wisho 难道我周围的大数据工程师都是在写 sql ?感觉他们天天讨论些机器学习的东西
    Wisho
        35
    Wisho  
       2019-01-29 11:12:40 +08:00
    @pain400 看公司吧,有的公司招“大数据工程师”会在 JD 里写清楚要精通机器学习的,那种是招进去做机器学习,不过数据集太大,实现时要用很多大数据组件支持,所以公司会觉得这就是“大数据工程师”。
    lycbug666
        36
    lycbug666  
       2019-01-29 12:12:58 +08:00 via iPhone
    @WaitingForSun 🤣🤣是这样的 能私下交流么 我也留学生
    Nickd
        37
    Nickd  
       2019-01-29 12:52:50 +08:00
    现在学生。之前也有过楼主的想法,然而,到了公司才发现入门都是先写几个月 sql、hql
    WaitingForSun
        38
    WaitingForSun  
       2019-02-12 12:18:38 +08:00
    @lycbug666 吼哇吼哇,我的邮箱是 inkyle#me.com 一起玩耍~
    halk
        39
    halk  
       2019-02-28 20:18:14 +08:00
    @Wisho +1
    Roni
        40
    Roni  
       2020-11-18 20:35:33 +08:00
    @lycbug666 @WaitingForSun @fuyufjh 我也在研究 Calcite~~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3173 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 12:36 · PVG 20:36 · LAX 04:36 · JFK 07:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.