为什么 Data Flow Sink Cache 没有所有 Data Preview 结果?
Why does Data Flow Sink Cache not have all Data Preview results?
我发现使用缓存接收器与数据集接收器时数据流结果存在显着差异。我重新创建了一个简单的例子来演示。
我向 Azure Data Lake Storage Gen 2 上传了一个简单的 JSON 文件:
{
"data": [
{
"id": 123,
"name": "ABC"
},
{
"id": 456,
"name": "DEF"
},
{
"id": 789,
"name": "GHI"
}
]
}
我创建了一个简单的数据流来加载这个 JSON 文件,将其展平,然后通过接收器 returns 它。我主要对使用缓存接收器感兴趣,因为输出很小,我最终需要下一个管道步骤的输出。 (写入 activity 输出 已选中。)
您可以看到数据预览显示了所有 3 行。 (我在这个例子中有两个水槽,只是因为我在说明它们不匹配。)
接下来,我创建一个管道到 运行 数据流:
现在,当我调试它时,数据流输出只显示 1 条记录:
"output": {
"TestCacheSink": {
"value": [
{
"id": 123,
"name": "ABC"
}
],
"count": 1
}
},
但是,第二个数据集接收器包含所有 3 条记录:
{"id":123,"name":"ABC"}
{"id":456,"name":"DEF"}
{"id":789,"name":"GHI"}
我希望缓存接收器的输出也有 3 条记录。 为什么会有差异?
当您选择缓存作为接收器时,将不允许您使用日志记录。您在调试前的验证期间看到以下错误。
为了解决这个问题,当您 select“none”进行日志记录时,它会自动检查“仅第一行" 属性!这导致它只将第一行写入缓存接收器。 您只需在 运行 调试之前手动取消选中即可。
这是它的样子...
我发现使用缓存接收器与数据集接收器时数据流结果存在显着差异。我重新创建了一个简单的例子来演示。
我向 Azure Data Lake Storage Gen 2 上传了一个简单的 JSON 文件:
{
"data": [
{
"id": 123,
"name": "ABC"
},
{
"id": 456,
"name": "DEF"
},
{
"id": 789,
"name": "GHI"
}
]
}
我创建了一个简单的数据流来加载这个 JSON 文件,将其展平,然后通过接收器 returns 它。我主要对使用缓存接收器感兴趣,因为输出很小,我最终需要下一个管道步骤的输出。 (写入 activity 输出 已选中。)
您可以看到数据预览显示了所有 3 行。 (我在这个例子中有两个水槽,只是因为我在说明它们不匹配。)
接下来,我创建一个管道到 运行 数据流:
现在,当我调试它时,数据流输出只显示 1 条记录:
"output": {
"TestCacheSink": {
"value": [
{
"id": 123,
"name": "ABC"
}
],
"count": 1
}
},
但是,第二个数据集接收器包含所有 3 条记录:
{"id":123,"name":"ABC"}
{"id":456,"name":"DEF"}
{"id":789,"name":"GHI"}
我希望缓存接收器的输出也有 3 条记录。 为什么会有差异?
当您选择缓存作为接收器时,将不允许您使用日志记录。您在调试前的验证期间看到以下错误。
为了解决这个问题,当您 select“none”进行日志记录时,它会自动检查“仅第一行" 属性!这导致它只将第一行写入缓存接收器。 您只需在 运行 调试之前手动取消选中即可。
这是它的样子...