我只想从两个不同的JSON文件中找出女性员工,只选择我们感兴趣的字段,并将输出写入另一个JSON
我还尝试在谷歌的云平台上使用数据流实现它。有人能提供一些示例Java代码,这些代码可以被实现以获得结果吗
员工JSON
{"emp_id":"OrgEmp#1","emp_name":"Adam","emp_dept":"OrgDept#1","emp_country":"USA","emp_gender":"female","emp_birth_year":"1980","emp_salary":"$100000"}
{"emp_id":"OrgEmp#1","emp_name":"Scott","emp_dept":"OrgDept#3","emp_country":"USA","emp_gender":"male","emp_birth_year":"1985","emp_salary":"$105000"}
部门JSON
{"dept_id":"OrgDept#1","dept_name":"Account","dept_start_year":"1950"}
{"dept_id":"OrgDept#2","dept_name":"IT","dept_start_year":"1990"}
{"dept_id":"OrgDept#3","dept_name":"HR","dept_start_year":"1950"}
预期的输出JSON文件应该如下所示
{"emp_id":"OrgEmp#1","emp_name":"Adam","dept_name":"Account","emp_salary":"$100000"}
您可以使用
CoGroupByKey
(其中将使用shuffle),或者如果您的departments集合明显较小,则可以使用side输入来完成此操作我将用Python编写代码,但您可以使用Java中的相同管道
通过侧面输入,您将:
将您的部门PCollection转换为映射 dept_id到department JSON字典
那你就去坐火车 员工PCollection作为主要输入,您可以在其中使用部门id 获取departments PCollection中每个部门的JSON
像这样:
使用
CoGroupByKey
,您可以使用dept_id作为键对两个集合进行分组。这将导致键-值对的PCollection,其中键是部门id,值是部门和该部门员工的两个可重用项有人要求为这个问题提供一个基于Java的解决方案。下面是这方面的Java代码。它更详细,但本质上是一样的
使用CoGroupByKey,可以使用部门id作为键对两个集合进行分组。这在BeamJavaSDK中的表现是
CoGbkResult
相关问题 更多 >
编程相关推荐