少数の列でグループ分けされ、スキーマでわかるように、これらの列からWrappedArray
を取得しています。どうすればそれらを取り除いて次のステップに進み、orderBy
を実行できますか?データフレームを取得SparkでWrappedArrayの最初の値を取得するには?
val sqlDF = spark.sql("SELECT * FROM
parquet.`parquet/20171009121227/rels/*.parquet`")
:
val final_df = groupedBy_DF.select(
groupedBy_DF("collect_list(relev)").as("rel"),
groupedBy_DF("collect_list(relev2)").as("rel2"))
は、スキーマを印刷することは、私たちを与える:final_df.printSchema
|-- rel: array (nullable = true)
| |-- element: double (containsNull = true)
|-- rel2: array (nullable = true)
| |-- element: double (containsNull = true)
サンプル出力電流:
を私はこれに変換しようとしています:(上の写真から)
|-- rel: double (nullable = true)
|-- rel2: double (nullable = true)
理想の出力例:
-1.0,0.0
-1.0,0.0
collect_listは確実にWrappedArrayを作成します。出力データフレームをどのようにしたいかのようにサンプル出力を提供できますか? –
@RameshMaharjanグループの行が1つ多い場合は、希望の出力 – dedpo
を追加しましたか?つまり、[WrappedArray(-1.0、1.0)、WrappedArray(0.0、0.0)]がある場合はどうなりますか?これを最終的な出力データフレームにどのように変換する予定ですか? –