【发布时间】:2021-12-06 11:05:35
【问题描述】:
我目前有 JSON 文件,我可以通过该文件将其数据转储到临时视图中。遵循 Python (PySpark) 逻辑:
departMentData = spark \
.read \
.option("multiLine", True) \
.option("mode", "PERMISSIVE") \
.json("C:\\Test\data.json") \
.createOrReplaceTempView("vw_TestView")
此临时视图以数组的形式包含部门数据和该部门内的员工列表。一名员工可以隶属于多个部门。
以下是该视图的数据类型:
- 部门ID:字符串
- 部门名称:字符串
- EmployeeIDs:数组
vw_TestView的表格数据如下
| DeptID | DeptName | EmployeeIDs |
|---|---|---|
| D01 | dev | ["U1234", "U6789"] |
| D02 | qa | ["U1234", "U2345"] |
另一个表Employees包含所有这些员工的详细信息,如下所示:
| EmpID | EmpName |
|---|---|
| U1234 | jon |
| U6789 | smith |
| U2345 | natasha |
我需要一个新表的最终输出如下:
| DeptID | DeptName | EmployeeIDs | EmployeeNames |
|---|---|---|---|
| D01 | dev | ["U1234", "U6789"] | ["jon", "smith"] |
| D02 | qa | ["U1234", "U2345"] | ["jon", "natasha"] |
如何在 Databricks SQL 中或通过 PySPark 执行此类连接?
【问题讨论】:
标签: apache-spark pyspark apache-spark-sql databricks delta-lake