• 请不要在回答技术问题时复制粘贴 AI 生成的内容
levelworm
V2EX  ›  程序员

今晚一个值得高兴的小事情

  •  
  •   levelworm · 1 day ago via iPhone · 5733 views

    下午发现某个表数据有问题,从源头开始查起,发现很古怪,某些列出现 null 值,而 s3 里的 csv 看起来是好的。

    心想可能是数据读入之后发生了改变,于是重启了某天的任务,发现照旧。于是决定仔细看看源数据。从 s3 上拉了一天的数据,导入到 duckdb ,发现的确没问题。更诡异的是,数据库里的数据我在 s3 里用 id 来查询,其实找不到。

    于是决定去看看代码,一看是 Scala ,得这玩意我不熟悉,看了下发现就是个很简单的读入 csv 然后加了两列时间戳数据,没啥变化。

    百思不得其解之下,决定仔细对比一下两个数据。因为这玩意有一百多列,所以之前偷懒没全看。这下每个列都列出来,一下子就发现问题,怎么数据偏移到其他列去了?当时就觉得大概是分离符是不是有点问题,毕竟是外头的数据,没洗干净是正常。但是首先 duckdb 没问题,Excel 也没啥问题,那就只好从头一列列对起。

    最终发现是有一列断成了两列,于是这一列之后的数据全都偏移了。看了下,这列数据有""这种两个双引号的,心想大概是 escape 的问题,一查果然是,然后再查为啥 Scala 的代码不对呢?因为这看起来是个蛮普遍的问题--原来 Spark 下读入默认是用\来做 escape 。

    发现原因了,其实最后加一行代码就完了。然后搭建本地的 Spark 环境,写了一小段 Scala 代码,用两种方式读入不同不同一个 csv 文件,做了个验证。搞定了之后明天提交补丁。

    其实这应该是比较简单的问题,但是我不熟悉,就花了不少时间。我不喜欢写业务的 SQL ,但是很喜欢调试代码找错误,这下是过瘾了。

    26 replies    2026-09-18 11:32:13 +08:00
    Razio
        1
    Razio  
       1 day ago   ❤️ 1
    debugger 真的很爽,并且干多了就能凭直觉判断问题。
    pheyer
        2
    pheyer  
       1 day ago   ❤️ 1
    有了 ai ,就少了很多类似这样的乐趣
    yahaoo
        3
    yahaoo  
       1 day ago   ❤️ 1
    一步一步深入, 找到最终的答案, 这个过程就像解谜一样,会很有成就感。 现在只会把问题现象描述给 AI 。
    clemente
        4
    clemente  
       1 day ago   ❤️ 1
    想要回味并展示自己一步步排查定位技术难题的过程,享受排错解谜带来的成就感
    heyjei
        5
    heyjei  
       1 day ago   ❤️ 1
    我也喜欢这个过程
    zoofy
        6
    zoofy  
       1 day ago   ❤️ 1
    以前会这样一步步 debug ,现在直接就扔文件和错误信息给 ai 让它找问题了
    jiehuangwei
        7
    jiehuangwei  
       1 day ago   ❤️ 1
    这种做法是很久很久以前了,现在多少直接丢给 AI 。分分钟出结果啊,感觉自己没有存在的必要了
    penisulaS
        8
    penisulaS  
       1 day ago   ❤️ 1
    写 scala 对我来说是很久之前的事了,这个语言真让我感觉到几乎有无穷的变化,能玩出各种各样的元编程花活
    Rickkkkkkk
        9
    Rickkkkkkk  
       23h 57m ago   ❤️ 1
    你有用过 ai 看这个问题吗
    zhw2590582
        10
    zhw2590582  
       23h 56m ago   ❤️ 1
    AI 会出手的
    harrietliu
        11
    harrietliu  
       23h 42m ago   ❤️ 1
    感觉 ai 还是要引导一下,不然也容易偏。有经验的话就是如虎添翼了,杂活给 ai
    levelworm
        12
    levelworm  
    OP
       23h 41m ago
    @Razio #1
    的确,我还是喜欢这种活。现在特别希望能够进一个什么比如操作系统啊,或者编译器啊,或者随便什么系统软件的组,然后就让我一直写补丁,我擦我能写到死。
    levelworm
        13
    levelworm  
    OP
       23h 40m ago
    @pheyer #2
    还行,因为我比较喜欢,所以主动限制 AI 的使用。不过我还是问了 AI 一些问题,因为我实在是不确定 Scala 的代码我理解的对不对。
    levelworm
        14
    levelworm  
    OP
       23h 36m ago
    @heyjei #5
    是啊。我还是很羡慕在系统软件组里写补丁的朋友,整天在迷宫里琢磨,搞定了一个问题,可能就几行代码,但是之前可能是几个月的追踪。

    但是 AI 一来,很多人都用 AI 来提交补丁,这种乐趣,对于普通人来说,可能就不会再有了。除非是毫无现实价值的软件,没人去用 AI ,那可能还有点机会。

    所以我其实是不喜欢 AI 的。
    levelworm
        15
    levelworm  
    OP
       23h 33m ago
    @penisulaS #8
    我其实还挺想学这个东西的,因为想学 packrat parsing ,据说代码编辑器需要这种算法来做渐进解析。不过的确是没精力了。而且我做数据工程的,现在 Scala 的东西越来越少了,我自己也是写 PySpark 的。
    levelworm
        16
    levelworm  
    OP
       23h 32m ago
    @Rickkkkkkk #9
    因为我搞了一会没搞出来,就产生兴趣了,没让 AI 去看。但是后来我让 AI 去看 Scala ,因为我不懂 Scala 。
    levelworm
        17
    levelworm  
    OP
       22h 33m ago
    @harrietliu #11
    是的,这种事情搞过一次,后续就快了。
    dirstart
        18
    dirstart  
       18h 54m ago   ❤️ 1
    天生的程序员。最近刚好也发现 cf 有个 bug ,排查了老半天,就是有点浪费时间😂
    最怕花时间没有找到为什么,这个时候就很挫败啦
    levelworm
        19
    levelworm  
    OP
       17h 13m ago via iPhone
    @dirstart #18
    的确啊,没找到的话就越想找,不知不觉就熬夜了。。。我这四十多岁的人可吃不消。
    zuokanyunqishi
        20
    zuokanyunqishi  
       14h 42m ago   ❤️ 1
    @levelworm 可以评测大模型啊...
    Rorysky
        21
    Rorysky  
       10h 58m ago   ❤️ 2
    缺少一个反思环节,这么简单引起的 bug ,我怎么才查出来
    litchinn
        22
    litchinn  
       10h 44m ago   ❤️ 1
    这种事情对于程序员来说就像推理小说
    程序员就是侦探,日志、数据库、代码就是案发现场,最后破案来当然很爽
    AI 来了就好比破案现在靠摄像头、DNA 检测,无聊但准确,哈哈
    levelworm
        23
    levelworm  
    OP
       10h 11m ago via iPhone
    @Rorysky #21
    反思结果就是水平烂见得少,没得说。水平烂也有好处,学会一点就开心。
    levelworm
        24
    levelworm  
    OP
       10h 10m ago via iPhone
    @litchinn #22
    的确,我平时的工作吧还是业务逻辑代码居多,没啥意思,难得碰到一些不完全是业务的东西。
    Rorysky
        25
    Rorysky  
       9h 56m ago   ❤️ 1
    @levelworm 一拍大腿,这样古法 debug 的乐趣才完整
    levelworm
        26
    levelworm  
    OP
       9h 50m ago via iPhone
    @Rorysky #25
    唉真是不想写业务代码了,尤其是 SQL 。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2859 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 13:22 · PVG 21:22 · LAX 06:22 · JFK 09:22
    ♥ Do have faith in what you're doing.