Итерируйте записи в искровом фрейме данных в Python - PullRequest
0 голосов
/ 03 октября 2018

Фрагмент кода выглядит следующим образом:

initial_load = hc.sql('select * from products_main') grouped_load = initial_load.groupBy("product_name", "date", "hour").count()

счетчик часов в имени_продукта

abc 12 2016-06-13 4
cde 13 2016-07-17 5
dfg 12 2016-10-13 7

Сгруппированная загрузка дает этот вывод.

Теперь моя цель состоит в том, чтобы повторить каждое название продукта в grouped_load из начальной загрузки и извлечь максимальное и минимальное значения цены в группе.

Как выполнить итерацию записей?

Ответы [ 2 ]

0 голосов
/ 04 октября 2018
Try below: not compiled, check
for syntax

initial_load = hc.sql('select * from products_main')
grouped_load = initial_load.groupBy("product_name", "date",
  "hour").count()
grouped_load2 = hc.sql('select product,min(value) from products_main group by product'))

final data = grouped_load.join(grouped_load2, on(product_name))
0 голосов
/ 03 октября 2018

Вы можете сделать что-то вроде, предполагая, что ваша начальная загрузка имеет цену поля.

from pyspark.sql.functions import *
min_max_df = initial_load.groupBy("product_name", "date", "hour").agg(min("price"), max("price"))
...