【发布时间】:2018-12-20 16:17:06
【问题描述】:
我有一个需求,我需要从多个表中获取记录。主表与其他表具有一对多关系。
我的数据源是 Oracle DB。 Oracle db 具有指定的表。一个叫Student,另一个叫Subjects。
例如,我有一个 Student 表,其中“Student_Id”是主键,其他列如 firstname、lastName 等。每个学生都注册了多个科目,因此 student_id 是 Subjects 表的外键。科目表有科目名称、状态、教师姓名等,即一个学生可以有多个科目。在学生表中,我有学生的电话号码,例如他的家庭电话、手机和家长的联系电话。这 3 个数字应作为一个对象出现在学生节点下,如下所示。
因此要求将学生表中的所有学生以及每个学生的相应科目显示为数组和每个学生的电话号码。输出应为 Json 格式。
我给出了下面的结构。请让我知道如何使用 Pentaho 数据集成工具来实现这一点。我对这项技术非常陌生。
{
"data": [
{
"Student_ID": "1",
"FirstName": "fname1",
"LastName": "lname1",
"subjects": [
{
"Name": "Physics",
"Status": "Active",
"Teacher": "Teacher1"
},
{
"Name": "History",
"Status": "InActive",
"Teacher": "Teacher2"
}
],
"Phone": {
"Home": "123456",
"Cell": "3456790",
}
},
{
"Student_ID": "2",
"FirstName": "fname2",
"LastName": "lname2",
"subjects": [
{
"Name": "Geography",
"Status": "Active",
"Teacher": "Teacher1"
},
{
"Name": "English",
"Status": "InActive",
"Teacher": "Teacher2"
}
],
"Phone": {
"Home": "123456",
"Cell": "3456790",
}
}
]
}
【问题讨论】:
-
Pentaho 只是一个数据集成工具。您需要指定源数据结构。目前我们甚至不知道这些数据是如何存储的以及它来自哪里。
-
我的数据源是Oracle DB。 Oracle db 具有指定的表。一种叫做学生,另一种是学科。
-
但是如何存储数据很重要。向我们展示示例数据。
标签: json pentaho kettle pentaho-spoon pdi