Spark 中解析大量 200M 以下 csv 文件入库是否有优势?

2017-05-26 15:23:43 +08:00
 ArthurKing

之前没接触过 spark,这就要用 pyspark 处理几百个 G 的 csv 文件。有几点疑惑吧

  1. 处理这种数据是否有优势。文件大小 500k-180m 左右,总量有 400GB 左右。
  2. csv 文件格式不一(比如有的 20 列,有的 30 列),带标题行,且为中文,直接在 pyspark 中通过 sqlContext.read.option("header","true").csv("xx")读取标题乱码。这种情况是否要提前先将文件处理好?
1891 次点击
所在节点    问与答
1 条回复
liprais
2017-05-26 16:03:06 +08:00
1.spark 会启动多个进程来并行的处理这些文件,资源够的话会比你用 python 单进程的处理快。
2.编码问题需要用 encoding 这个参数来指定正确的编码。列不同的问题 spark 会自动合并,不存在的记录会被赋予 null,应该不会有问题。不过不同的列数一般代表是不同的数据,处理之后放到一起似乎不是好的实践。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/364017

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX