Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure U-SQL错误-将标识符更改为至少使用一个小写字母_Azure_Azure Data Lake_U Sql - Fatal编程技术网

Azure U-SQL错误-将标识符更改为至少使用一个小写字母

Azure U-SQL错误-将标识符更改为至少使用一个小写字母,azure,azure-data-lake,u-sql,Azure,Azure Data Lake,U Sql,我是U-SQL的新手,尝试在Azure Data Lake Analytics中运行U-SQL脚本,以使用拼花提取器功能处理拼花文件。我得到下面的错误,我找不到一个方法来绕过它。 错误-将标识符更改为至少使用一个小写字母。如果不可能,则转义该标识符(例如:“[ACTIVITY]”),或将其嵌入CSHARP()块(例如CSHARP(ACTIVITY)) 不幸的是,拼花文件中生成的所有不同字段都是大写的,我不想转义这些标识符。我尝试过是否可以用CSHARP块包装标识符,但也失败了(E_CSC_USE

我是U-SQL的新手,尝试在Azure Data Lake Analytics中运行U-SQL脚本,以使用拼花提取器功能处理拼花文件。我得到下面的错误,我找不到一个方法来绕过它。 错误-将标识符更改为至少使用一个小写字母。如果不可能,则转义该标识符(例如:“[ACTIVITY]”),或将其嵌入CSHARP()块(例如CSHARP(ACTIVITY))

不幸的是,拼花文件中生成的所有不同字段都是大写的,我不想转义这些标识符。我尝试过是否可以用CSHARP块包装标识符,但也失败了(E_CSC_USER_RESERVEDKEYWORDASIDENTIFIER:Reserved关键字CSHARP用作标识符)。我是否可以提取拼花地板文件?谢谢你的帮助! 代码段:

SET @@FeaturePreviews = "EnableParquetUdos:on";
@var1= 提取活动字符串, 作者名称字符串, 附合串

FROM "adl://xxx.azuredatalakestore.net/Abstracts/FY2018_028"
USING Extractors.Parquet();
@var2= 挑选* 来自@var1 按活动排序ASC 取5行
输出@var2
"adl://xxx.azuredatalakestore.net/Results/AbstractsResults.csv"
使用Outputters.Csv()

根据你的描述,你想说

EXTRACT ALLCAPSNAME int FROM "/data.parquet" USING Extractors.Parquet();
在U-SQL中,我们保留所有caps标识符,以便将来可以添加新关键字,而不会使旧脚本无效

要解决这个问题,只需引用名称(转义),就像在任何其他SQL方言中一样:

EXTRACT [ALLCAPSNAME] int FROM "/data.parquet" USING Extractors.Parquet();
请注意,这不会更改字段的名称。这只是处理字段的语法方式

还要注意,在大多数SQL社区中,始终引用标识符以避免保留关键字冲突被认为是最佳实践


如果拼花文件中的所有字段都是大写,则必须将它们全部引用。。。在将来的更新中,对于拼花地板(和Orc)文件,您可以说EXTRACT*FROM…,但当您明确引用这些列时,您仍然需要引用它们。

您可以发布一个帖子吗?我正在考虑一个小的U-SQL脚本和示例拼花文件,它简要地解释了这个问题。这将是非常有用的,我相信有人会帮助你。是的,我应该这样做。我在问题中添加了这个片段。感谢Michael的输入,我试图在select查询中使用[ACTIVITY],但出现了一个错误,[ACTIVITY]在拼花文件中不存在。我非常确定它存在于文件中,因为我正在使用数据工厂进行CSV到拼花地板的转换。我将让工程团队检查引用的标识符是否得到正确支持。我们做了一些测试和引用标识符的工作。你能为我提供一个最近的工作链接(在过去24小时内),以便我可以提交一个事件进行进一步调查吗?您可以通过microsoft.com将信息发送给usql。