代码之家  ›  专栏  ›  技术社区  ›  user3843858

Data Lake-U SQL我们需要用UTC time Error out表达式创建Pramater(Outout文件名)

  •  1
  • user3843858  · 技术社区  · 7 年前

    我们需要用文件名对输出文件进行签名 例如“文件名”

    我们从ADF运行USQL

        @Orders=
    EXTRACT
     OrderID int,
        CustomerID int,
        OrderDetailID int,
        OrderTotal double,
        OrderDate DateTime
    
     FROM @IN
          USING Extractors.Csv();
    
    @GetLatest=
    SELECT 
          OrderID,
        CustomerID,
        OrderDetailID,
        OrderTotal,
        OrderDate,
        ROW_NUMBER() OVER(PARTITION BY OrderID,CustomerID,OrderDetailID ORDER BY OrderDate DESC) AS Rid FROM @Orders;
    @FinalOrder=
    SELECT 
          OrderID,
        CustomerID,
        OrderDetailID,
        OrderTotal,
        OrderDate
        FROM @GetLatest WHERE Rid==1;
    OUTPUT  @FinalOrder 
        TO @OUT
        USING Outputters.Csv();
    

    现在在ADF, 我有两个参数

      "parameters": {
                        "IN": "/OrderDump/Orders.csv",
                        "OUT": {
                            **"value": "/OrderDump/formatDateTime(utcnow(), 'yyyyMMdd')",**
                            "type": "Expression"
                        }
                    }
    

    { "errorCode": "2703", 
      "message": "Error Id: VertexFailedFast, Error Message: Vertex failed with a fail-fast error. ", 
    "failureType": "UserError", 
    "target": "Delata" }
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   DraganB    7 年前

    在ADF中,应该使用@concat函数。 所以你的表情应该是

    @concat('/OrderDump/',formatDateTime(utcnow(),'yyyyMMdd'),'.csv')