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

左合并

支持于: Batch

将两个数据集合并在一起,保留左表中的所有行,并且仅保留右表中满足提供条件的行。

变换类别: 合并

声明的参数

  • 左侧选择列的条件 - 左侧输入模式中的所有列都将被测试以查看它们是否符合此条件。如果符合,列将被选中输出。
    ColumnPredicate
  • 右侧选择列的条件 - 右侧输入模式中的所有列都将被测试以查看它们是否符合此条件。如果符合,列将被选中输出。
    ColumnPredicate
  • 合并条件 - 合并时的条件。
    Expression<Boolean>
  • 左数据集 - 在合并中使用的左数据集。
    Table
  • 右数据集 - 在合并中使用的右数据集。
    Table
  • 非必填 右侧列的前缀 - 添加到右侧所有列的前缀。
    Literal<字符串>

示例

示例 1: 基本情况

参数值:

  • 左侧选择列的条件:
    columnNameIsIn(
     columnNames: [tail_number, airline],
    )
  • 右侧选择列的条件:
    columnNameIsIn(
     columnNames: [home_airport],
    )
  • 合并条件:
    equals(
     left: tail_number,
     right: tail_number,
    )
  • 左数据集: ri.foundry.main.dataset.left
  • 右数据集: ri.foundry.main.dataset.right
  • 右侧列的前缀: null

输入: 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_numberairlinehome_airport
XB-123foundry airLHR
MT-222new airlineCPH
XB-123foundry airlineLHR
MT-222new airCPH
KK-452new airJFK
PA-452new airnull
XB-123foundry airlineLHR

示例 2: 基本情况

描述: 简单复杂的合并条件。 参数值:

  • 左侧选择列的条件:
    columnNameIsIn(
     columnNames: [tail_number, airline, factor],
    )
  • 右侧选择列的条件:
    columnNameIsIn(
     columnNames: [tail_number, home_airport, factor],
    )
  • 合并条件:
    lessThan(
     left: factor,
     right: factor,
    )
  • 左数据集: ri.foundry.main.dataset.left
  • 右数据集: ri.foundry.main.dataset.right
  • 右侧列的前缀: 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_numberairlinefactorright_tail_numberright_home_airportright_factor
XB-123foundry air2KK-452JFK10
XB-123foundry air2JR-201IAD4
MT-222new airline5KK-452JFK10
XB-123foundry airline5KK-452JFK10
MT-222new air4KK-452JFK10
KK-452new air1XB-123LHR2
KK-452new air1KK-452JFK10
KK-452new air1JR-201IAD4
PA-452new air2KK-452JFK10
PA-452new air2JR-201IAD4
XB-123foundry airline2KK-452JFK10
XB-123foundry airline2JR-201IAD4

示例 3: 基本情况

描述: 当合并条件为null等于null时,行将不会被合并。 参数值:

  • 左侧选择列的条件:
    columnNameIsIn(
     columnNames: [tail_number, airline],
    )
  • 右侧选择列的条件:
    columnNameIsIn(
     columnNames: [home_airport],
    )
  • 合并条件:
    equals(
     left: tail_number,
     right: tail_number,
    )
  • 左数据集: ri.foundry.main.dataset.left
  • 右数据集: ri.foundry.main.dataset.right
  • 右侧列的前缀: null

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

tail_numberairlinemilesfactor
XB-123foundry air1242
nullnew airline11235

ri.foundry.main.dataset.right

tail_numberhome_airport
XB-123LHR
nullCPH

输出:

tail_numberairlinehome_airport
XB-123foundry airLHR
nullnew airlinenull

示例 4: 基本情况

参数值:

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

输入: 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_numberairlinefactorhome_airport
XB-123foundry air2LHR
MT-222new airline5null
XB-123foundry airline5null
MT-222new air4null
KK-452new air1null
PA-452new air2null
XB-123foundry airline2LHR

示例 5: 基本情况

参数值:

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

    )
  • 右侧选择列的条件:
    columnNameIsIn(
     columnNames: [home_airport],
    )
  • 合并条件:
    equals(
     left: tail_number,
     right: tail_number,
    )
  • 左数据集: ri.foundry.main.dataset.left
  • 右数据集: ri.foundry.main.dataset.right
  • 右侧列的前缀: null

输入: 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_numberairlinemilesfactorhome_airport
XB-123foundry air1242LHR
MT-222new airline11235CPH
XB-123foundry airline3355LHR
MT-222new air5654CPH
KK-452new air2221JFK
PA-452new air2122null
XB-123foundry airline11342LHR