我有一个U-SQL脚本,它在Azure存储中生成一个CSV文件,在Azure SQL数据仓库(SDW)中使用PolyBase读取该CSV文件的外部表.
使用U-SQL脚本生成CSV文件时,SDW无法读取数据并抛出异常:
消息110802,级别16,状态1,行152 110802;发生内部DMS错误导致此操作失败.详细信息:异常:Microsoft.SqlServer.DataWarehouse.DataMovement.Common.ExternalAccess.HdfsAccessException,消息:Java异常上调调用HdfsBridge_RecordReaderFillBuffer:错误[无法检索到Java异常]发生在访问外部文件[/ CSV/2015-02- 13/all.csv] [0].
但是,如果我将该CSV文件下载到本地驱动器并完全按原样上传,而没有对具有完全相同文件名的完全相同的位置进行修改,则SDW可以毫无问题地对其进行查询.
有任何想法吗?
我对USQL非常陌生,想知道如何在select语句中将“ datetime”转换为“ date”。另外,我如何摆脱毫秒和上午/下午?我真的很感谢任何帮助。谢谢你们。
已经尝试了建议的JSONPath选项,但似乎JSONExtractor只识别根级别.在我的情况下,我必须处理嵌套的json结构,也有一个数组(见下面的例子).没有多个中间文件的任何提取选项?
"relation": {
"relationid": "123456",
"name": "relation1",
"addresses": {
    "address": [{
        "addressid": "1",
        "street": "Street 1",
        "postcode": "1234 AB",
        "city": "City 1"
        },
    {
        "addressid": "2",
        "street": "Street 2",
        "postcode": "5678 CD",
        "city": "City 2"
    }]
}}
SELECT relationid,addressid,street,postcode,city?
我需要添加有关正在处理的行的元数据.我需要将文件名添加为列.我查看了Git仓库中的救护车演示,但无法弄清楚如何实现这一点.
在U-SQL自定义代码(代码隐藏或程序集)中,可以调用外部服务,例如bing search或map.
谢谢,纳西尔
我正在尝试使用以下电源shell脚本通过服务主体身份验证来检查DataLake Analytics帐户状态是否处于活动状态.应用程序可以访问datalake分析帐户.它存在于我的订阅中的一个资源组中.当我尝试运行以下命令时,我收到的错误是分析帐户不存在于任何资源组中.但我只看到了一些错误,但并非总是如此.我不认为这种行为是由于网络问题,因为脚本运行得很早.
注意:在现有DataLakeStore和Google Analytics帐户成为Gen1后,我看到此错误.有人可以帮助我为什么会收到此错误?
System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials;
Login-AzureRmAccount -ServicePrincipal -TenantId 'Tenant'  -ApplicationId 'ApplicationID' -CertificateThumbprint  'Certificate' -ErrorAction Stop > $null ; 
$Status = Get-AzureRmDataLakeAnalyticsAccount -Name 'ADLAccount'
-ErrorAction Stop -ErrorVariable ErrorStatus;
if($Status.State -ne 'Active'){
Write-Error ('Error Occurred while connecting to DataLake analytics account::ADLAAccount');}
}
Catch{
Write-Error ($_.Exception.Message +';'+ $_.InvocationInfo.PositionMessage);
}
想知道是否有人对使用U-SQL实现case或IF语句有建议。例如,如何将其转换为:
SELECT
    FirstName, LastName,
    Salary, DOB,
    CASE Gender
        WHEN 'M' THEN 'Male'
        WHEN 'F' THEN 'Female'
    END
FROM Employees;
对于我从源头转变的每一行,我都需要独特的guid.
下面是示例脚本; 代码Guid.NewGuid()总是为所有行返回相同的代码
@Person =
    EXTRACT SourceId          int,
            AreaCode          string,
            AreaDetail         string,
            City        string
    FROM "/Staging/Person"
    USING Extractors.Tsv(nullEscape:"#NULL#");
@rs1 =
    SELECT 
    Guid.NewGuid() AS PersonId,
    AreaCode,
    AreaDetail,
    City    
    FROM @Person;
OUTPUT @rs1   
    TO "/Datamart/DimUser.tsv"
      USING Outputters.Tsv(quoting:false, dateTimeFormat:null);
由于我是 Power BI 和 Redshift 的新手,需要一些指导..
我的原始 JSON 数据以 .gz 文件的形式存储在 Amazon S3 存储桶中(每个 .gz 文件都有多行 JSON 数据)我想将 Power BI 连接到 Amazon s3 存储桶。到目前为止,根据我的研究,我得到了三种方法:
问题:是否可以解压缩 .gz 文件(在 S3 存储桶或 Power BI 内部),从 S3 提取 JSON 数据并连接到 Power BI
问题 1:Redshift 是否允许从 S3 存储桶加载 .gzzipped JSON 数据?如果是,是直接可能的还是我必须为其编写任何代码?
问题2:我有S3帐户,是否需要单独购买Redshift帐户/空间?费用是多少?
我试图总结多少数据已写入Data Lake中的文件夹。做这个的最好方式是什么?我应该使用U-SQL作业吗?HDInsights?