我正在使用Spark 2.2.0。
我有一个DataFrame
超过20列。在下面的示例中,PERIOD
是周数,并键入一种商店类型(Hypermarket
或Supermarket
)
table.show(10)
+--------------------+-------------------+-----------------+
| PERIOD| TYPE| etc......
+--------------------+-------------------+-----------------+
| W1| HM|
| W2| SM|
| W3| HM|
etc...
我想做一个简单的groupby
(这里有pyspark,但Scala或pyspark-sql给出相同的结果)
total_stores = table.groupby("PERIOD", "TYPE").agg(countDistinct("STORE_DESC"))
total_stores2 = total_stores.withColumnRenamed("count(DISTINCT STORE_DESC)", "NB STORES (TOTAL)")
total_stores2.show(10)
+--------------------+-------------------+-----------------+
| PERIOD| TYPE|NB STORES (TOTAL)|
+--------------------+-------------------+-----------------+
|CMA BORGO -SANTA ...| BORGO| 1|
| C ATHIS MONS| ATHIS MONS CEDEX| 1|
| CMA BOSC LE HARD| BOSC LE HARD| 1|
问题不在于计算中:列混淆了:PERIOD
有STORE NAMES
,TYPE
有CITY
等等。
我不知道为什么。其他一切都很好。