大佬们,Java 导出 csv 文件有什么比较好的方案吗?数量量级 50 M - 100 M ,考虑 IO 操作、Spark 操作、第三方包等等。大佬们有比较推荐的吗。
1
Goooooos 2024-01-30 14:46:35 +08:00
|
2
wu00 2024-01-30 14:55:40 +08:00 2
csv 不就是用逗号分隔的纯文本吗?需要库吗
|
5
issakchill 2024-01-30 15:54:32 +08:00
easyexcel?
|
6
zysuper 2024-01-30 15:59:06 +08:00
df.write.csv("/tmp/spark_output/datacsv")
|
7
rewluck 2024-01-30 16:03:33 +08:00
|
8
fu82581983 2024-01-30 16:11:03 +08:00 1
如果导出比较频繁,并且使用阿里云/腾讯云的服务器,可以考虑直接内网存 OSS/COS ,然后返回给前端对应的 OSS/COS 地址
|
9
xianxia OP @fu82581983 目前就是这个方案,实现思路就是本地导出 csv 文件后上传到 oss ,然后返回前端地址。
|
10
nerkeler 2024-01-30 16:18:56 +08:00
easyexcel 不行?
|
11
yekern 2024-01-30 16:22:10 +08:00
数据流 buffer 写出不好么? 一次写出 1000~5000 行数据,对服务器和数据库完全没压力.边写出边下载.
|
12
with 2024-01-30 16:28:27 +08:00
easypoi
|
13
cslive 2024-01-31 10:55:25 +08:00
这个不用库吧,手写就行,csv 就是带分隔符的 txt 文件
|
14
flmn 2024-01-31 13:16:41 +08:00
commons-csv 就够用吧
|
15
kelololy 2024-01-31 13:46:46 +08:00
手写肯定慢,特殊符号的处理,列对齐这些细的东西,单测都不知道得多久
|
16
IAMQ 2024-01-31 14:42:54 +08:00
easyexcel
|