【问题标题】:How to get Full Path of file in U-SQL query如何在 U-SQL 查询中获取文件的完整路径
【发布时间】:2017-05-29 14:17:07
【问题描述】:

是否可以从以下 u-sql 代码中获取文件“完整路径”,就像文件名列一样?

DECLARE @in = "D:/Sample/Data/{FileName}";

@drivers =
    EXTRACT id string,
            first_name string,
            last_name string,
            address string,
            FileName string
    FROM @in
    USING USING Extractors.Csv();

OUTPUT @drivers
TO "/ReferenceGuide/DML/QSE/Extract/Drivers.txt"
USING Outputters.Csv();

从上面的 u-sql 查询中,我可以获得文件名,但我也想要文件完整路径。比如“D:/Sample/Data”

【问题讨论】:

    标签: c# .net azure-data-lake u-sql


    【解决方案1】:

    您已经在脚本顶部的变量中拥有输入路径,因此只需将其添加到输出数据集即可。像这样:

    DECLARE @in = "D:/Sample/Data/{FileName}";
    
    @drivers =
        EXTRACT id string,
                first_name string,
                last_name string,
                address string,
                FileName string
        FROM @in
        USING USING Extractors.Csv();
    
    
    @driverswithpath =
        SELECT
            *,
            @in AS 'InputPath'
        FROM
            @drivers;
    
    OUTPUT @driverswithpath
    TO "/ReferenceGuide/DML/QSE/Extract/Drivers.txt"
    USING Outputters.Csv();
    

    【讨论】:

      【解决方案2】:

      由于您可以在 U-SQL 中对字符串使用 .net 方法,因此您可以使用 Replace 方法重构整个文件路径,如下所示:

      DECLARE @in string = "input/{FileName}";
      
      @drivers =
          EXTRACT id string,
                  first_name string,
                  last_name string,
                  address string,
                  FileName string
          FROM @in
          USING Extractors.Csv();
      
      
      @driverswithpath =
          SELECT
              *,
              @in.Replace("{FileName}", FileName) AS InputPath
          FROM
              @drivers;
      
      OUTPUT @driverswithpath TO "/output/output.csv"
      USING Outputters.Csv();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-10-24
        • 1970-01-01
        • 2020-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多