【发布时间】:2017-12-04 18:08:38
【问题描述】:
我是 sparkR 的新手,并试图将 sparkR 数据帧拆分为基于列的数据帧列表。
数据有十亿条记录,Sls_D(date), mdse_item_i(item id), co_loc_i(location id), traffic_ti_8_00, traffic_ti_9_00, traffic_ti_10_00, traffic_ti_11_00(每条记录在特定小时内没有流量)。
数据快照:
sls_d co_loc_i mdse_item_i traffic_ti_8_00 traffic_ti_9_00 traffic_ti_10_00 traffic_ti_11_00
1 2016-10-21 1592 4694620 1 113 156 209
2 2016-10-21 1273 4694620 1 64 152 249
3 2016-10-21 1273 15281024 1 64 152 249
4 2016-10-21 1498 4694620 2 54 124 184
5 2016-10-21 1498 15281024 2 54 124 184
期望的输出:
sls_d co_loc_i mdse_item_i traffic_ti_8_00 traffic_ti_9_00 traffic_ti_10_00 traffic_ti_11_00
2016-10-21 4 4694620 3 67 145 283
数据框列表。
d.2 = split(data.2.2,list(data.2.2$mdse_item_i,data.2.2$co_loc_i,data.2.2$sls_d))
x[ind[[k]]] 中的错误:过滤谓词以外的表达式 提取运算符的第一个参数不支持 [ 或 子集()方法。
除了将 sparkDataframe 转换为 base R 之外,还有什么方法可以在 sparkR 中执行此操作。 因为将 sparkdataframe 转换为 base R 会导致内存错误并解决并行处理的问题。
非常感谢任何帮助。
【问题讨论】:
-
回答没有帮助?
标签: apache-spark-sql spark-dataframe sparkr