如何在R中重命名Sparklyr中的列?

时间:2018-05-18 17:39:25

标签: r apache-spark apache-spark-sql sparklyr

这是我通过Spark Cluster在R中使用的代码,错误也在下面给出

mydata<-spark_read_csv(spark_cluster,name = "rd_1",path = "IAF_Extracted_Data_Zipped.csv",header = F,delimiter = "|")

mydata %>% select(customer=V1,device_subscriber_id=V2,user_subscriber_id=V3,user_id=V4,location_id=V5) 

.f(.x [[i]],...)中的错误:找不到对象'V1'

3 个答案:

答案 0 :(得分:2)

重命名惯例则相反(new name = old name

您正在寻找以下内容:

mydata %>% 
    select(V1 = customer,
           V2 = device_subscriber_id,
           V3 = user_subscriber_id,
           V4 = user_id,
           V5 = location_id) 

答案 1 :(得分:0)

在我的头脑中你可以尝试customer = mydata$V1和其他变量相似(假设V1,...mydata的列名。)

答案 2 :(得分:0)

如果您想要特定名称,请在阅读时提供名称向量:

columns <- c("customer", "device_subscriber_id", 
             "user_subscriber_id", "user_id", "location_id")

spark_read_csv(
   spark_cluster, name = "rd_1",path = "IAF_Extracted_Data_Zipped.csv",
   header = FALSE, columns = columns, delimiter = "|"
)

columns的数量应与输入中的列数相匹配。