从动态列中消除空键值对
Eliminating empty key value pairs from dynamic column
我有一个更新策略,它填充动态类型的目标 table 列。填充动态列的更新策略逻辑如下:-
project target_calculated_column = pack("key1",src_col1,
"key2",src_col2,
"key3",src_col3,
.
.
"keyN",src_colN)
列 src_col1、src_col2、...、src_colN 是来自特定 table 的固定数量的列,它是更新策略的来源。这些列具有各种数据类型,其中大部分是字符串,其他是整数。此外,这里的主要内容是这些列可能包含也可能不包含输入行的任何值。这意味着对于整数列,值可以为空,或者对于字符串列,它可以为空。现在这里的问题是更新策略函数显然是事先编写的,因此它不知道哪些行将有空值或空白等。只有在更新策略启动时才会知道这些内容 运行。因此,当更新策略开始时 运行 我们最终在目标列 target_calculated_column 中得到以下类型的数据,显示目标行中的一个示例值:-
{
"key1":"sometext",
"key2":30,
"key3":null,
"key5":"hello",
"key6":"",
"key7":112,
"key8":"",
"key9":"",
.
.
"keyN":10
}
这说明了问题所在。我不想将键值对保留为 target_calculated_column 的一部分,它们是空的(空值、空白等)。我想我要的是 pack()
的条件版本,它可以忽略具有空值的键值对,但我认为不存在这样的选项。有没有办法可以后处理 target_calculated_column 以便我可以消除这样的键值对?基本上在这个例子中我应该得到以下输出:-
{
"key1":"sometext",
"key2":30,
"key5":"hello",
"key7":112,
.
.
"keyN":10
}
pack_all([ignore_null_empty]) function allows you to ignore nulls/empty values. If you want to remove some columns you can use the bag_remove_keys() function. The pack()函数本身不提供这个选项。
我有一个更新策略,它填充动态类型的目标 table 列。填充动态列的更新策略逻辑如下:-
project target_calculated_column = pack("key1",src_col1,
"key2",src_col2,
"key3",src_col3,
.
.
"keyN",src_colN)
列 src_col1、src_col2、...、src_colN 是来自特定 table 的固定数量的列,它是更新策略的来源。这些列具有各种数据类型,其中大部分是字符串,其他是整数。此外,这里的主要内容是这些列可能包含也可能不包含输入行的任何值。这意味着对于整数列,值可以为空,或者对于字符串列,它可以为空。现在这里的问题是更新策略函数显然是事先编写的,因此它不知道哪些行将有空值或空白等。只有在更新策略启动时才会知道这些内容 运行。因此,当更新策略开始时 运行 我们最终在目标列 target_calculated_column 中得到以下类型的数据,显示目标行中的一个示例值:-
{
"key1":"sometext",
"key2":30,
"key3":null,
"key5":"hello",
"key6":"",
"key7":112,
"key8":"",
"key9":"",
.
.
"keyN":10
}
这说明了问题所在。我不想将键值对保留为 target_calculated_column 的一部分,它们是空的(空值、空白等)。我想我要的是 pack()
的条件版本,它可以忽略具有空值的键值对,但我认为不存在这样的选项。有没有办法可以后处理 target_calculated_column 以便我可以消除这样的键值对?基本上在这个例子中我应该得到以下输出:-
{
"key1":"sometext",
"key2":30,
"key5":"hello",
"key7":112,
.
.
"keyN":10
}
pack_all([ignore_null_empty]) function allows you to ignore nulls/empty values. If you want to remove some columns you can use the bag_remove_keys() function. The pack()函数本身不提供这个选项。