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

600 万行 tsv 打开方式

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

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

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

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

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