在Python中迭代Spark数据框中的记录

时间:2018-10-03 14:26:59

标签: python dataframe pyspark pyspark-sql

代码段是这样的,

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

product_name小时日期计数

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

分组负载提供此输出。

现在,我的目标是从初始加载中迭代grouped_load中的每个产品名称,并检索组中价格的最大值和最小值。

如何迭代记录?

2 个答案:

答案 0 :(得分:0)

假设您的初始负载具有现场价格,您可以执行类似的操作。

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

答案 1 :(得分:0)

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))