我有多个U-SQL脚本,并且在每个U-SQL脚本的顶部使用了filename变量。我们有没有办法将输入和输出文件夹定义到任何配置文件中,并读取变量、常量或任何内容,以便在Extract和OUTPUT中使用它们
@tab1 =
EXTRACT f1 string,
f2 string
FROM **<path from config file>**
USING Extractors.Csv(skipFirstNRows:1);
在Visual Studio2017 Azure Data Lake U-SQL项目中,当运行带有代码的usql脚本文件(例如Script.usql)时,您可以简单地选择(通过下拉列表)不仅要使用的ADLA (Azure数据湖分析)帐户,还可以:-数据库-要在U-SQL脚本中使用的模式(如果有)。
但目前(2018年12月27日,使用Visual Studio Professional 2017版本15.9.2和Azure Data Lake Tools for Visual Studio版本2.3.5001.7 ),没有可用于设置数据库或模式的下拉列表。
那么如何设置数据库和模式(
我想为多个文件编写相同的查询。有没有可能用U-SQL编写动态查询,或者有没有办法避免重写相同的代码,比如
Select count(*) as cnt from @table1;
Select count(*) as cnt from @table2;
可以替换为
Select count(*) as cnt from @dynamic
where @dynamic = table1, table2
这就是我所处的位置。
我在data Lake Store中存储了大量数据。但是,当我想要生成一份报告(可能需要一个月的时间)时,我希望将其系统化到一个表中,以便在查询时反复引用。
我应该只使用Data Lake Analytics通过创建U-SQL表()提供的内置数据库特性,还是应该在SQL Data Warehouse中创建这个表?我想我真正想知道的是,这两种情况的优缺点是什么,什么时候使用这两种情况是最好的?
顺便说一下,我是微软Azure世界的新手。仍在积极学习。
我正在尝试使用create table as select (CTA的)从两个表创建一个U-sql表,如下所示-
DROP TABLE IF EXISTS tpch_query2_result;
CREATE TABLE tpch_query2_result
(
INDEX idx_query2
CLUSTERED(P_PARTKEY ASC)
DISTRIBUTED BY HASH(P_PARTKEY)
) AS
SELECT
a.P_PARTKEY
FROM part AS a INNER JOIN partsupp AS b ON a.P_PARTKEY ==
下面是我的代码的一部分,我在其中输入了.mat文件的名称,该文件与我的代码位于同一文件夹中。但是,它不识别文件名,并给出一个错误:
“?使用==>加载时出错
无法读取文件'q.mat':没有这样的文件或目录。“
q_type=input('Do you want to use q from "A", "B" or from a saved .mat file? Enter the exact name: ','s');
q_type=mat2str([q_type'.mat'])
load(q
我一直在尝试使用文档()中提到的R扩展在U-SQL上执行R代码。
当我尝试执行上面链接中提到的示例脚本时,它抛出错误:
C# error CS1739: The best overload for 'Reducer' does not have a parameter named 'rReturnType'
当我删除rReturnType参数时,我无法理解输出。
是否有其他Extension.R参数可以达到相同的目的?
现在我们有了Azure Data Lake Store中的数据,现在正在使用Azure Data Analytic Job with U-SQL处理那里存在的数据。现在我们有了一个需求,我们需要根据存在的列值将数据推入不同的输出文件夹。
假设一旦我们处理了数据,输出结果如下所示
ID |名称|公司
1 Midhun测试
2个Midhun2 test2
因此,我想将第一个要记录的文件移动到名为“\result.tsv”的输出文件夹中,并将第二个文件移动到"test2"\result.tsv的输出文件夹中
我能在U-SQL中做到这一点吗?我没有找到任何关于U-SQL的好的参考文档。
我有一个USQL Job,它从Azure Blob读取json,然后在一些数据操作之后,将一个单行JSON文件写入ADLS。我已经写了一个自定义输出器来写JSON文件。
下面是我的CustomOutputter文件的外观:
using Microsoft.Analytics.Interfaces;
using Microsoft.Analytics.Types.Sql;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
我们通过ADF运行一个u-sql作业,该作业读取包含Avro文件的文件夹,并将数据转换为csv。同时运行作业、从不同文件夹读取并输出到不同文件夹导致以下错误
FinalMetadataOperationUserError: Failed to write job meta-data due to user error
Component
JobManager_User
Message
Failed to write job meta-data due to user error
Description
Version of object ddc1c212-b227-4b0b-8199-5
我是Azure Data Lake的新手。我想创建用户定义的输出器,它使用文件模板来生成输出文件。问题是在输出器中存储和检索模板文件的最佳方式是什么?最简单、最容易的方法是将模板文件嵌入到U-SQL程序集中,然后从程序集资源中读取它。但这不是灵活的解决方案-如果需要更改模板,则需要重新部署outputter dll。正确的方法似乎是将模板存储在Azure Data Lake Storage中,但我不确定如何从输出器的C#代码中读取模板。
我已经创建了一个Azure data Lake gen2文件系统来存储和恢复数据。我已经正确地加载了我的数据(每天一个文件),但是,当我想要使用Azure Data Lake Azure Rest API获取数据时,我只能针对每个请求访问一个文件,所以,如果我需要一个月,我必须每天执行一个请求并将其合并到我的本地机器中,而直接在Azure Data Lake gen2中这样做是可取的。
我知道这可以在数据库中使用SparkSQL和通配符来完成,但是如果我可以直接在Azure Data Lake gen2 rest API中使用通配符,那就更好了。我已经找过了,但是我发现文档不清楚。每个人都知道
我正在尝试在U-SQL中生成一个动态的FROM子句,这样我们就可以根据之前的查询结果从不同的文件中提取数据。大概是这样的:
@filesToExtract = SELECT whatevergeneratesthepaths from @foo; <-- this query generates a rowset with all the file we want to extract like: [/path/file1.csv, /path/file2.csv]
SELECT * FROM @filesToExtract; <-- here we want to extract
我有一个函数,它应该有INT作为输入。但是,当我传递任何字符串时,输入将被接受。
为什么函数由于输入与输入类型不匹配而不出错?
这是函数
DROP FUNCTION IF EXISTS erbaccess.canAdminIRB;
DELIMITER $
CREATE FUNCTION erbaccess.canAdminIRB(_userID int) RETURNS int
BEGIN
set @canPerformAction = 0;
if (select count(*)
from erbaccess.usersVsGroupsVsActions
where
在u-sql查询中,通过Outputterss.Csv()函数将数据从一个csv文件转储到另一个csv文件,但是带有列名的标题行出现在文件的末尾,而不是top.Please。在帮助信息中查找my code below.Thanks。
@telDataResult=
SELECT
"vin" AS vin,
"outsideTemperature" AS outsideTemperature,
"EventProcessedUtcTime" AS EventProcessedUtcTime,
"PartitionId" AS