我有一个流分析应用程序,其中事件是JSON编码的,看起来像这样
{customerID: 45, state:"S2" , timestamp:"2017-06-06 14:19:21.77"}
{customerID: 74, state:"S2" , timestamp:"2017-06-06 14:19:26.61"}
{customerID: 79, state:"S2" , timestamp:"2017-06-06 14:19:28.50"}
{customerID: 10, state:"D" , timestamp:"2017-06-06 14:19:31.79"}
{customerID: 70, state:"S2" , timestamp:"2017-06-06 14:19:31.93"}
{customerID: 37, state:"S2" , timestamp:"2017-06-06 14:19:32.17"}
{customerID: 41, state:"D" , timestamp:"2017-06-06 14:19:33.48"}
我在CSV文件中为客户提供了参考数据,如下所示:
"CUST_ID", "Age", "Rich"
1, "50", "Y"
2, "22", "N"
我以上述格式加载数据文件并测试以下查询
select A.[CUSTOMERID], A.[state], B.[AGE], B.[GENDER_CODE] from clickstream A timestamp by A.[TIMESTAMP] left join refdata B on A.[CUSTOMERID]=B.[CUST_ID]
现在,如果数据引用数据表示为JSON,则相同的查询可以正常工作。有没有一个工作示例我可以看看CSV参考数据?
答案 0 :(得分:1)
我在CSV文件中为客户提供参考数据
当我们create input时,我们需要指定 事件序列化格式 ,以便让Stream Analytics了解我们所使用的序列化格式(JSON,CSV或Avro)# 39;重新用于传入的数据流。请检查输入 refdata 的 事件序列化格式 ,并确保其设置为CSV。
答案 1 :(得分:1)
我遇到了与流分析相同的问题。
仅供参考,将.csv文件转换为.json文件(例如使用在线工具),并将参考数据序列化格式更改为JSON解决了这个问题。现在,我可以通过Azure门户查询工具提交json文件来测试查询。 看起来像流式分析的CSV实现是错误的,因为我确信我的csv格式正确。
答案 2 :(得分:0)
带有参考数据的“测试”按钮对我来说根本不起作用。我不得不使用Azure Stream分析工具在Visual Studio中在本地环境中对其进行测试。
关于路径模式中的错误。我使用了YYYY-MM-DD
,默认情况下使用的流式分析YYYY/MM/DD
。当作业运行时,我在Stream分析仪表板的输入旁边看到一个感叹号。
要调试错误,您应该点击Stream Analytics概述中的参考数据输入,您应该在其刀片上看到警告。
矿警告如:
Initializing input without a valid reference data blob for UTC time 11/14/2017 12:22:32 PM, example path: 'https://blabla.blob.core.windows.net/cohorts/2017/11/14/12-22/result.csv'