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

600 万行 tsv 打开方式

  •  
  •   Winner4good · 3 天前 · 3003 次点击
    600 万行的 tsv 用 excel 的 powerquery 打开就卡死
    之前最多打开过 300 万行;
    除了给电脑加内存条还有别的办法吗。。
    需要把 raw data 直接给到业务部门,他们自己要各种维度的分析
    29 条回复    2025-04-22 13:43:24 +08:00
    tsvico
        1
    tsvico  
       3 天前
    klogg
    levelworm
        2
    levelworm  
       3 天前 via Android
    直接进数据库?
    512357301
        3
    512357301  
       3 天前 via Android
    主要得看业务部门会啥,他们要是会 SQL ,那可以转换成 parquet 或者直接导入数据库,把 parquet 或者数据库的地址给他们,让他们自己写 SQL 分析(duckdb 可以读取到 parquet)。
    要是只会 Excel ,那有点麻烦,建议把数据拆分一下,按日期拆分成每个 20 万行的 Excel 或者 csv 。
    还可以在导入数据库之后,搭建一个 metabase ,让他们用可视化的方式分析,meta 上手难度高于 Excel ,跟 Excel 透视表类似,但低于 SQL 。
    不过有时候吧,这帮业务部门人员 Excel 能力不太敢恭维,只是很基础的 Excel 操作。。。
    vopsoft
        4
    vopsoft  
       3 天前 via Android   ❤️ 1
    试试 emeditor 这个还不行别的也不用试了 除非换硬件
    Kite6
        5
    Kite6  
       3 天前 via Android
    放到 hdfs 集群,走 spark 或 hive 分析
    ETiV
        6
    ETiV  
       3 天前 via iPhone
    直接给业务部门啊 他们打不开关你什么事
    winglight2016
        7
    winglight2016  
       3 天前
    业务人员的确超喜欢用 Excel 自己分析数据,我前家公司的业务就这么干的,不过,后来我劝说他们改用 superset 来处理几十万以上的数据。而且,还不需要导出。

    另外,正经的做法是单独建立 BI 数据仓库,避免业务库受影响。
    Lenic
        8
    Lenic  
       3 天前 via iPhone
    Emeditot ,应该只有这个兜底了
    murmurkerman
        9
    murmurkerman  
       3 天前 via iPhone
    sqlite ,轻量,单文件。excel 能做的 sql 都能做
    xmumiffy
        10
    xmumiffy  
       3 天前 via Android
    如果只会 office 那就给 access 建数据源
    TimePPT
        11
    TimePPT  
       3 天前
    sqlite or duckdb? 一般 raw data 大于 10w 行业务都不会一行行看,聚合计算啥的,不如 sql 方便啊。
    qweruiop
        12
    qweruiop  
       3 天前
    emeditor 小 case ,我经常用。
    dayeye2006199
        13
    dayeye2006199  
       3 天前
    Dask
    snw
        14
    snw  
       3 天前 via Android   ❤️ 1
    这个数据量建议做成 sql 服务,反正 power query 也能读 sql 。标准解决方案应该是搭 BI ,但几百万行数据量又太少了,而且业务部门不一定肯出钱。

    如果一定要用 tsv/csv ,先检查 Excel 一定用 64 位,内存至少 16G (多多益善)。
    Power Query 默认预读 1000 行,如果只是读取 csv 这类顺序文件就算读全表也只是慢一些,不应该卡死,除非做了其他操作,或者内存瓶颈导致缓存到了硬盘。

    如果业务部门还不满意,让他们提方案,比如聚合掉一些不需要的字段,很多时候业务并不需要看每一笔 transaction 。
    proxyai
        15
    proxyai  
       3 天前
    AI 可以拆分处理
    aminobody
        16
    aminobody  
       3 天前
    @tsvico #1 真的好用
    qiuyue0
        17
    qiuyue0  
       3 天前
    emeditor 试试吧
    laminux29
        18
    laminux29  
       3 天前
    600w 行的规模,早就应该上数据库了,Excel 不是用来对付这种级别规模的。

    专业的需求,请上专业的方案。
    q378648220
        19
    q378648220  
       3 天前
    按照跟业务部分打交道的经验,就拆分成多个 csv 给他们,其中一个文件小一些,几万行左右。他们会根据这个文件再提具体需求的,然后再用 SQL 或 pandas 处理好。
    levelworm
        20
    levelworm  
       2 天前 via Android
    @snw #14
    这个是比较好的,就是成本高一些。要不看看有没有免费工具可以读取 sqllite 的。
    xgdgsc
        21
    xgdgsc  
       2 天前
    https://github.com/JuliaComputing/TableView.jl 用 CSV.jl mmap 方式打开文件用这个浏览?如果除了浏览还要分析就看分析需要的内存了
    sdshiyan2005
        22
    sdshiyan2005  
       2 天前 via Android
    无脑 duckdb ,或者 polars 。数据不算大
    70k
        23
    70k  
       2 天前
    先拿一小部分给 ai 看看分析下结构 然后让 ai 给你写脚本 你直接运行就可以看到想要的结果了
    xmdbb
        24
    xmdbb  
       2 天前
    早期:access 开权限,业务经理自己链表操作查看数据。
    中期:导出 excel ,他们自己发挥。
    现在:业务给出需求,系统出对应报表。
    wittyfans
        25
    wittyfans  
       2 天前 via iPad
    列式存储
    ltux
        26
    ltux  
       2 天前
    加内存也没用,excel 有明确的行数上限 1048576 ,只能换工具。
    gzldc
        27
    gzldc  
       1 天前
    网页打开 分页
    xingheng
        28
    xingheng  
       1 天前
    要啥自行车,直接 less ,手动狗头
    dlllcs
        29
    dlllcs  
       1 天前
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4453 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 09:59 · PVG 17:59 · LAX 02:59 · JFK 05:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.