【发布时间】:2019-12-16 19:39:21
【问题描述】:
我有一个包含超过 5 亿条记录的数据集。我想在多个列上应用 group by 子句来获取计数。在分组时,我还需要确保结果计数仅针对列中的特定值。
我有贷款表,其中有 customer_id,loan_id, installment_amt, installment_status Installment_status 包含多个值 'B'、'N'、'C'
在单个查询中,我想知道每个 customer_id、loan_id、分期付款的总数是多少、只有“B”的分期付款数量和“C”的分期付款数量。
我是 SparkR 的新手,试图做类似下面的事情-
RESULT <- summarize(
groupBy(LOAN, "customer_id", "loan_id"),
NO_OF_Installment=count(LOAN$installment_amt),
BILLED_INSTALLMENTS=count(LOAN$$installment_status=='B'),
CCANCELLED_INSTALLMENT=count(LOAN$$installment_status=='C')
)
它为 billed_installment 和 cancelled_installment 提供了相同的计数。
我不太确定计数时过滤是否有效。我在the documentation 中没有看到任何内容。但我已经看到这段代码在 R 中工作。
【问题讨论】:
标签: r apache-spark sparkr