我有一个要移动到 spark sql 的数据集。这个数据集有大约 200 列。我发现这样做的最佳方法是将数据映射到字典,然后将该字典移动到 spark sql 表。
问题是,如果我将它移到字典中,代码将非常笨拙且不健壮。我可能不得不写这样的东西:
lines = sc.textFile(file_loc)
#parse commas
parts = lines.map(lambda l: l.split(","))
#split data into columns
columns = parts.map(lambda p:{'col1':p[0], 'col2':p[1], 'col3':p[2], 'col4': p[3], ;'col5': p[4], 'col6':p[5], 'col7':p[6], 'col8':p[7], col9':p[8], 'col10':p[9], 'col11':p[10], 'col12':p[11], 'col13':p[12]})
我只写了 13 列,因为我不想输入更多内容,但你明白了。
我想做一些类似于如何将 csv 读入 R 中的数据框的操作,在其中将列名指定为变量,然后使用该变量命名所有列。
例子:
col_names <- ('col0','col1','col2','col3','col4','col5','col6','col7','col8','col9','col10','col11','col12','col3')
df <- read.csv(file_loc, header=FALSE, col.names=col_names)
我不能使用 pandas 数据框,因为该数据结构目前无法在 spark 中使用。
有没有一种方法可以在 python 中创建字典,类似于在 R 中创建数据框的方式?