【发布时间】:2019-08-16 00:46:10
【问题描述】:
我需要将一个 10GB 的固定宽度文件读取到数据帧中。如何在 R 中使用 Spark?
假设我的文本数据如下:
text <- c("0001BRAjonh ",
"0002USAmarina ",
"0003GBPcharles")
我希望前 4 个字符与数据框的“ID”列相关联;从字符 5-7 将与列“国家”相关联;并从字符 8-14 关联到“名称”列
如果数据集很小,我会使用函数 read.fwf,但事实并非如此。
我可以使用 sparklyr::spark_read_text 函数将文件作为文本文件读取。但我不知道如何正确地将文件的值归因于数据框。
【问题讨论】:
-
我基于 substring 和 selectExpr 在 Scala 中为我构建了一个类。首先,我将文本文件中的所有模式设置在具有五列的外部 Hive 表下:表名、列号、列名、列开始、列结束。每一列都被转换成一个相应的数组,需要一段时间来构建每一列的解析语句。即使它将在 Scala 中,希望我在答案部分为它起草一个代理 Spark 答案?
-
绝对是的,@afeldman。它肯定会帮助我弄清楚如何在 R 中做到这一点。谢谢。
标签: r apache-spark bigdata sparkr sparklyr