【发布时间】:2018-05-16 23:40:48
【问题描述】:
我在 RDBMS 中的数据库表很少,在当前逻辑中,所有这些表都被连接并提供一些数据,基本上 SQL 存储为视图的一部分。 想通过使用 spark 数据集在 spark 中进行类似的转换, 现在我已经使用 sqoop 将数据推送到 HDFS,想要应用一些 group by 和 order by 操作。
什么可能是加入数据集的最佳方式,例如将所需的列转储到内存中(例如 df.registeredTempTable())并应用连接,或者我可以使用数据集连接,因为数据在 HDFS 的不同文件中可用。 请给我推荐一个好的方法。
问候 阿南特
【问题讨论】:
-
为什么要在Hadoop环境下保持相同的表概念?我会转换创建 Avro 文档的数据,而不是“应用连接”。
-
非常感谢您的回复。让我们说,我有员工表和部门表,使用 sqoop 作业,我已将两个表数据转储到 HDFS 中的单独文件夹中。现在要执行以下查询 SELECT department_name AS 'Department Name',COUNT(*) AS 'No of Employees' FROM部门 INNER JOIN employees ON employees.department_id =部门.department_id GROUP BY department.department_id, department_name ORDER BY department_name;能否请您详细说明一下 avro 文档。
标签: apache-spark dataset