【发布时间】:2020-05-21 22:20:12
【问题描述】:
我正在使用 ADF 管道将数据从数据湖复制到 blob 存储,然后再复制到表存储。表存储有一列包含 integer 值(列:Age)。关于尝试查询表存储中的数据
https://myaccount.table.core.windows.net/Customers()?$filter=Age%20eq%2030 -> (age 30 is considered as integer)
输出为空。
关于将查询更新为
https://myaccount.table.core.windows.net/Customers()?$filter=Age%20eq%20'30' -> (age 30 is considered as string)
它返回了正确的输出。
我使用相同的 adf 管道将数据从数据湖复制到 cosmos db sql api。当我使用查询时
SELECT * FROM c WHERE c.Age = 30
它返回了正确的输出。我试过了
SELECT * FROM c WHERE c.Age > 30
它也返回了正确的输出。
因此,cosmos db 接受整数列,而表存储只接受字符串值。这是为什么?如何在表存储中解决此问题,以便它接受整数列?请告诉我。谢谢!
【问题讨论】:
-
您是否在存储资源管理器中检查了年龄类型是否为整数?我测试过,可以查询整数列。
-
我在存储资源管理器中将年龄类型视为字符串。这是为什么?我从 ADF 复制的年龄列是整数类型。
标签: azure-data-factory azure-table-storage azure-data-factory-2