我的ADLA解决方案正在转变为Spark。我正在尝试找到适合U-SQL REDUCE表达式的替代品来启用:
可能的任务示例:
LinkedTransactionId
中捕获解决方案可能可以通过groupByKey
命令实现,但我无法确定如何跨多行应用逻辑。我设法找到的所有示例都是内联函数的一些变体(通常是聚合 - 例如.map(t => (t._1, t._2.sum))
),它不需要来自同一分区的单个记录的信息。
任何人都可以分享类似解决方案的例子或指向正确的方向吗?
这是一个可能的解决方案 - 非常感谢对迭代Spark / Scala解决方案的不同方法或示例的反馈和建议:
CustomerId
)并将每个客户作为单独的分区处理(外部mapPartition
循环)foreach
内部循环)trnMap
输出到最终数据集iterator
注意:在这种特殊情况下,使用迭代解决方案的窗口函数可以实现相同的结果,但目的是测试迭代逻辑本身)
dfOut2