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)
現時点では、spark でデータ構造を使用できないため、pandas データ フレームを使用できません。
Rでデータフレームを作成する方法と同様に、Pythonで辞書を作成する方法はありますか?