Spark DFにロードする前にロードして前処理する必要があるExcelファイルがいくつかあります。私はこれらのファイルのリストを処理する必要があります。 (パス、パンダDATAFRAME)タプルにタプル複数のパンダDFを1つのスパークDFに変換する方法は?
file_list_rdd = sc.emptyRDD()
for file_path in file_list:
current_file_rdd = sc.binaryFiles(file_path)
print(current_file_rdd.count())
file_list_rdd = file_list_rdd.union(current_file_rdd)
私は、(パス、バイト)のセットからfile_list_rdd
をオン一部のマッパー機能を持っている:私はそれらを読むためにこのような何かを行います。これにより、私はPandasを使ってExcelファイルを読み込み、ファイルを操作してSpark DataFrameにする前に統一しています。
(ファイルパス、パンダDF)タプルのRDDをどのようにして1つのSpark DFにするのですか?私は、単一の変換を行うことができる関数を認識していますが、いくつかの変換を行うことはできません。
私の最初の試みは、このようなものだった:(スタックトレースはあまりをしないので、それは推測だ私はsqlCtx
は、計算と一緒に配布されていないため、動作しませんでした推測している
sqlCtx = SQLContext(sc)
def convert_pd_df_to_spark_df(item):
return sqlCtx.createDataFrame(item[0][1])
processed_excel_rdd.map(convert_pd_df_to_spark_df)
私に感謝する)。
読んでいただきありがとうございます:)。
残念ながら私は何千ものExcelファイルを与えられています。 – bstempi