#apache-spark #apache-spark-sql
#apache-spark #фрейм данных #pyspark
Вопрос:
Фрейм данных pyspark, содержащий точку (например, «id.orig_h»), не будет разрешен groupby
после, если он сначала не переименован withColumnRenamed
. Есть ли обходной путь? "`a.b`"
похоже, это не решает проблему.
Комментарии:
1. Можете ли вы поделиться кодом, который вы используете для группировки?
Ответ №1:
В моей оболочке pyspark работают следующие фрагменты:
from pyspark.sql.functions import *
myCol = col("`id.orig_h`")
result = df.groupBy(myCol).agg(...)
и
myCol = df["`id.orig_h`"]
result = df.groupBy(myCol).agg(...)
Я надеюсь, что это поможет.
Комментарии:
1. Спасибо @Daniel de Paula за ваш ответ. Можете ли вы подтвердить, что использование
groupby("`id.orig_h`")
не работает?2. @HananShteingart, для меня работает следующий код:
df.groupBy("`id.orig_h`").agg(...)
3. Для меня это не так. Не могли бы вы, пожалуйста, добавить еще столбцы, начинающиеся с id. ? Я использую pyspark 1.6
4. @HananShteingart как был создан ваш фрейм данных? Как вы выполняете свою операцию groupBy? Можете ли вы показать результат
df.printSchema()
?