跳转至

Transform map keys(转换映射键(Transform map keys))

Supported in: Batch, Streaming

Transforms keys of a map by applying an expression to every key-value pair.

Expression categories: Map

Declared arguments

  • Expression to apply: The expression to apply once per key-value pair of the map.
    Expression\
  • Map: Map expression.
    Expression\>

Type variable bounds: K accepts AnyType**V accepts AnyType

Output type: Map\

Examples

Example 1: Base case

Argument values:

  • Expression to apply:
    stringBeforeDelimiter(
     delimiter: -,
     expression: key,
     ignoreCase: false,
    )
  • Map: flight_number
flight_number Output
{
 MT-111 -> 2,
 XB-134 -> 1,
}
{
 MT -> 2,
 XB -> 1,
}

Example 2: Base case

Argument values:

  • Expression to apply:
    cast(
     expression: key,
     type: Integer,
    )
  • Map: flight_number
flight_number Output
{
 11 -> 1,
 22 -> 2,
}
{
 11 -> 1,
 22 -> 2,
}

Example 3: Base case

Argument values:

  • Expression to apply:
    cast(
     expression: value,
     type: String,
    )
  • Map: flight_number
flight_number Output
{
 11 -> 1,
 22 -> 2,
}
{
 1 -> 1,
 2 -> 2,
}

Example 4: Base case

Argument values:

  • Expression to apply:
    concatStrings(
     expressions: [
    stringBeforeDelimiter(
     delimiter: -,
     expression: key,
     ignoreCase: false,
    ), value],
     separator: -,
    )
  • Map: flight_number
flight_number Output
{
 MT-111 -> BB,
 XB-134 -> AA,
}
{
 MT-BB -> BB,
 XB-AA -> AA,
}


中文翻译


转换映射键(Transform map keys)

支持:批处理(Batch)、流处理(Streaming)

通过对每个键值对应用表达式来转换映射(map)的键。

表达式类别: 映射(Map)

声明的参数

  • 要应用的表达式: 对映射中每个键值对应用的表达式。
    表达式\
  • 映射: 映射表达式。
    表达式\>

类型变量边界: K 接受 AnyType**V 接受 AnyType

输出类型: Map\

示例

示例 1:基础案例

参数值:

  • 要应用的表达式:
    stringBeforeDelimiter(
     delimiter: -,
     expression: key,
     ignoreCase: false,
    )
  • 映射: flight_number
flight_number 输出
{
 MT-111 -> 2,
 XB-134 -> 1,
}
{
 MT -> 2,
 XB -> 1,
}

示例 2:基础案例

参数值:

  • 要应用的表达式:
    cast(
     expression: key,
     type: Integer,
    )
  • 映射: flight_number
flight_number 输出
{
 11 -> 1,
 22 -> 2,
}
{
 11 -> 1,
 22 -> 2,
}

示例 3:基础案例

参数值:

  • 要应用的表达式:
    cast(
     expression: value,
     type: String,
    )
  • 映射: flight_number
flight_number 输出
{
 11 -> 1,
 22 -> 2,
}
{
 1 -> 1,
 2 -> 2,
}

示例 4:基础案例

参数值:

  • 要应用的表达式:
    concatStrings(
     expressions: [
    stringBeforeDelimiter(
     delimiter: -,
     expression: key,
     ignoreCase: false,
    ), value],
     separator: -,
    )
  • 映射: flight_number
flight_number 输出
{
 MT-111 -> BB,
 XB-134 -> AA,
}
{
 MT-BB -> BB,
 XB-AA -> AA,
}