2017-12-06 13 views
0

pyspark 1.4で集計関数の列値のリストを取得したいと思います。 collect_listは利用できません。誰もそれを行う方法の提案を持っていますか?pyspark 1.4集計関数のリストを取得する方法

オリジナルコラム:

ID, date, hour, cell 
1, 1030, 01, cell1 
1, 1030, 01, cell2 
2, 1030, 01, cell3 
2, 1030, 02, cell4 

私は以下のような出力、groupby (ID, date, hour)

ID, date, hour, cell_list 
1, 1030, 01, cell1, cell2 
2, 1030, 01, cell3 
2, 1030, 02, cell4 

をしたいしかし、私のpysparkはcollect_listが利用できない、1.4.0です。私はできません: df.groupBy("ID","date","hour").agg(collect_list("cell"))

+0

/opt/spark1.4/bin/spark-submit-master yarn-client --num-executors 37 xxx.py –

答えて

0

Spark 1.4は古く、サポートされていない、遅い、バグがあり、現在のバージョンと互換性があります。あなたは本当にあなたがshould should be able to submit any version of Spark codeyou use YARNので、ハイブのサポートを有効に一時テーブルとしてDataFrameを登録し、

sqlContext = HiveContext(sc) 

df = ... # create table using HiveContext 
df.registerTempTable("df") 

sqlContext.sql(
    "SELECT id, date, hour, collect_list(cell) GROUP BY id, date, hour FROM df" 
) 

を使用するスパークのインストールに

のアップグレードを検討すべきであるが、それはPYTHONPATHでカスタムPySparkバージョンを配置する必要がある場合があります。

関連する問題