0

在 u-sql 查询中,通过 Outputterss.Csv() 函数将数据从一个 csv 文件转储到另一个文件,但带有列名的标题行出现在文件末尾而不是顶部。请在下面找到我的代码。感谢您的帮助。

@telDataResult=


SELECT 
"vin" AS vin,
"outsideTemperature" AS outsideTemperature,
"EventProcessedUtcTime" AS EventProcessedUtcTime,
"PartitionId" AS PartitionId,
"EventEnqueuedUtcTime" AS EventEnqueuedUtcTime,
"IoTHub" AS IoTHub

FROM @telData

UNION
SELECT 
t.vin ,
Convert.ToString(outsideTemperature) AS outsideTemperature 
EventProcessedUtcTime ,
PartitionId ,
EventEnqueuedUtcTime ,
IoTHub 
FROM 
@telData AS t 

UNION

SELECT 
t.vin ,
Convert.ToString(outsideTemperature) AS outsideTemperature 
EventProcessedUtcTime ,
PartitionId ,
EventEnqueuedUtcTime ,
IoTHub 

FROM 
@telData1 AS t;


OUTPUT @telDataResult
TO 
@"wasb://blobcontainer@blobstorage.blob.core.windows.net/cluster/logs/2016/outputofADLA.csv"
USING Outputters.Csv();
4

1 回答 1

0

当您使用本机输出器时,各个行由多个顶点以并行方式写入,因此无法保证顺序。我们目前正在努力以原生方式支持标题行的输出。同时,您可以使用我们的自定义输出器将标题行写入输出文件。可以在https://github.com/Azure/usql/tree/master/Examples/HeaderOutputter中找到自定义输出器。使用 HeaderOutputter,您的代码将如下所示。

@telDataResult= SELECT 
 t.vin ,
 Convert.ToString(outsideTemperature) AS outsideTemperature 
 EventProcessedUtcTime ,
 PartitionId ,
 EventEnqueuedUtcTime ,
 IoTHub 
 FROM 
      @telData;

OUTPUT @telDataResult TO <OutputFile>
USING new new HeaderOutputter.HeaderOutputter(quoting:false);
于 2016-06-13T18:16:21.697 回答