注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。

半连接

支持于: 批处理

半连接将左侧和右侧的数据集输入合并在一起。这会删除所有不符合连接条件的行。

变换类别: 合并

声明的参数

  • 左侧选择列的条件 - 所有左侧输入模式中的列将被测试以查看它们是否符合此条件。如果符合,列将在输出中被选择。
    ColumnPredicate
  • 连接条件 - 用于连接的条件。
    Expression<Boolean>
  • 左侧数据集 - 用于合并的左侧数据集。
    Table
  • 右侧数据集 - 用于合并的右侧数据集。
    Table

示例

示例 1: 基本情况

参数值:

  • 左侧选择列的条件:
    columnNameIsIn(
     columnNames: [tail_number, airline],
    )
  • 连接条件:
    equals(
     left: tail_number,
     right: tail_number,
    )
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right

输入: ri.foundry.main.dataset.left

tail_numberairlinemilesfactor
XB-123foundry air1242
MT-222new airline11235
XB-123foundry airline3355
MT-222new air5654
KK-452new air2221
PA-452new air2122
XB-123foundry airline11342

ri.foundry.main.dataset.right

tail_numberhome_airport
XB-123LHR
MT-222CPH
KK-452JFK
JR-201IAD

输出:

tail_numberairline
XB-123foundry air
MT-222new airline
XB-123foundry airline
MT-222new air
KK-452new air
XB-123foundry airline

示例 2: 基本情况

描述: 简单复杂连接条件。 参数值:

  • 左侧选择列的条件:
    columnNameIsIn(
     columnNames: [tail_number, airline, factor],
    )
  • 连接条件:
    and(
     conditions: [
    lessThan(
     left: factor,
     right: factor,
    ),
    equals(
     left: tail_number,
     right: tail_number,
    )],
    )
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right

输入: ri.foundry.main.dataset.left

tail_numberairlinemilesfactor
XB-123foundry air1242
MT-222new airline11235
XB-123foundry airline3355
MT-222new air5654
KK-452new air2221
PA-452new air2122
XB-123foundry airline11342

ri.foundry.main.dataset.right

tail_numberhome_airportfactor
XB-123LHR2
MT-222CPH1
KK-452JFK10
JR-201IAD4

输出:

tail_numberairlinefactor
KK-452new air1

示例 3: 基本情况

参数值:

  • 左侧选择列的条件:
    columnNameIsIn(
     columnNames: [tail_number, airline, factor],
    )
  • 连接条件:
    and(
     conditions: [
    equals(
     left: tail_number,
     right: tail_number,
    ),
    equals(
     left: factor,
     right: factor,
    )],
    )
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right

输入: ri.foundry.main.dataset.left

tail_numberairlinemilesfactor
XB-123foundry air1242
MT-222new airline11235
XB-123foundry airline3355
MT-222new air5654
KK-452new air2221
PA-452new air2122
XB-123foundry airline11342

ri.foundry.main.dataset.right

tail_numberhome_airportfactor
XB-123LHR2
MT-222CPH1
KK-452JFK10
JR-201IAD4

输出:

tail_numberairlinefactor
XB-123foundry air2
XB-123foundry airline2

示例 4: 基本情况

参数值:

  • 左侧选择列的条件:
    allColumns(

    )
  • 连接条件:
    equals(
     left: tail_number,
     right: tail_number,
    )
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right

输入: ri.foundry.main.dataset.left

tail_numberairlinemilesfactor
XB-123foundry air1242
MT-222new airline11235
XB-123foundry airline3355
MT-222new air5654
KK-452new air2221
PA-452new air2122
XB-123foundry airline11342

ri.foundry.main.dataset.right

tail_numberhome_airport
XB-123LHR
MT-222CPH
KK-452JFK
JR-201IAD

输出:

tail_numberairlinemilesfactor
XB-123foundry air1242
MT-222new airline11235
XB-123foundry airline3355
MT-222new air5654
KK-452new air2221
XB-123foundry airline11342