これは悪い考えかもしれないので、pyspark/bigdataに少し新しかったですが、私は約100万個の個別のCSVファイルを持っていて、それぞれにいくつかのメタデータが関連付けられています。私はすべてのメタデータフィールドの列を持つpysparkデータフレームを望みますが、エントリがメタデータの各セットに関連付けられた(全体の)CSVファイルである列も必要です。pysparkにデータフレームの列がありますか?
私は仕事中ではありませんが、ほぼ正確なコードを覚えています。私は
outer_pandas_df = pd.DataFrame.from_dict({"A":[1,2,3],"B":[4,5,6]})
## A B
## 0 1 4
## 1 2 5
## 2 3 6
のようなおもちゃの例の何かを試してみましたそして、あなたは
outer_schema = StructType([
StructField("A", IntegerType(), True),
StructField("B", IntegerType(), True)
])
outer_spark_df = sqlctx.createDataFrame(outer_pandas_df, schema=outer_schema)
を行うならば、そして、結果は予想通り、スパークデータフレームです。あなたは
inner_pandas_df = pd.DataFrame.from_dict({"W":["X","Y","Z"]})
outer_pandas_df["C"] = [inner_pandas_df, inner_pandas_df, inner_pandas_df]
を行うと、
inner_schema = StructType([
StructField("W", StringType(), True)
])
outer_schema = StructType([
StructField("A", IntegerType(), True),
StructField("B", IntegerType(), True),
StructField("W", ArrayType(inner_schema), True)
])
のようなスキーマを作成した場合しかし、今、これは失敗します。
sqlctx.createDataFrame(outer_pandas_df, schema=outer_schema)
パンダのデータフレームを受け付けないのArrayTypeに関連するエラーで。私は正確なエラーはありません。
私がしようとしていることは可能ですか?