Я использую фрагмент кода здесь , чтобы получить макеты на моем фрейме данных:
def get_unique_values(df, in_col):
return df.select(f.collect_set(in_col).alias(in_col)).first()[in_col]
def get_dummies(df, input_col):
lst_unique_values = get_unique_values(df, input_col)
pivoted = df.groupBy("ID").pivot(input_col, lst_unique_values).agg(f.lit(1)).na.fill(0)
return pivoted
Если я не укажу уникальные значения, я не смогу использовать сводку () метод. После применения метода я не могу увидеть, что находится внутри моего фрейма данных, используя .show ():
{Py4JJavaError}An error occurred while calling o119.showString.
: org.apache.spark.sql.catalyst.errors.package$TreeNodeException: execute, tree:
HashAggregate(keys=[StoreNum#386], functions=[pivotfirst(STORE CONCEPT#389, 1#419, GA, Liquidation Center, Gen Y, Outlet, Combo Outlet, Combo, Flagship, New Concept, A-Maze, Regular Concept, 0, 0)], output=[StoreNum#386, GA#507, Liquidation Center#508, Gen Y#509, Outlet#510, Combo Outlet#511, Combo#512, Flagship#513, New Concept#514, A-Maze#515, Regular Concept#516])
+- Exchange hashpartitioning(StoreNum#386, 200)
+- HashAggregate(keys=[StoreNum#386], functions=[partial_pivotfirst(STORE CONCEPT#389, 1#419, GA, Liquidation Center, Gen Y, Outlet, Combo Outlet, Combo, Flagship, New Concept, A-Maze, Regular Concept, 0, 0)], output=[StoreNum#386, GA#430, Liquidation Center#431, Gen Y#432, Outlet#433, Combo Outlet#434, Combo#435, Flagship#436, New Concept#437, A-Maze#438, Regular Concept#439])
+- *(2) HashAggregate(keys=[StoreNum#386, STORE...
My java -version возвращает:
openjdk version " 1.8.0_242 "
Среда выполнения OpenJDK (AdoptOpenJDK) (сборка 1.8.0_242-b08)
64-разрядная серверная виртуальная машина OpenJDK (AdoptOpenJDK) (сборка 25.242-b08, смешанный режим)
и у меня версия Spark 2.3.2.
Буду признателен за любое решение этого вопроса.