是否可以使用Azure Data Factory从REST API获取数据并将其插入Azure数据库表?
我正在Azure"数据工厂"中设置管道,目的是从存储中获取平面文件并将它们加载到Azure SQL DB中的表中.
此管道的模板指定我需要一个开始和结束时间,教程称其设置为1天.
我试图理解这一点.如果它是Linux中的CRON作业或Windows Server中的计划任务,那么我只是告诉它何时开始(即每天早上6点)并且需要很长时间才能完成.
这引出了几个相关的问题:
我发现了一个先前的问题,它解释了如何进行频率而不是硬编码日期,但我的问题仍然没有得到答案.
我试图使用USQL从JSON文件中提取数据.查询成功运行而不生成任何输出数据或导致"顶点失败快速错误".
JSON文件如下所示:
{
"results": [
{
"name": "Sales/Account",
"id": "7367e3f2-e1a5-11e5-80e8-0933ecd4cd8c",
"deviceName": "HP",
"deviceModel": "g6-pavilion",
"clientip": "0.41.4.1"
},
{
"name": "Sales/Account",
"id": "c01efba0-e0d5-11e5-ae20-af6dc1f2c036",
"deviceName": "acer",
"deviceModel": "veriton",
"clientip": "10.10.14.36"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我的U-SQL脚本是
REFERENCE ASSEMBLY [Newtonsoft.Json];
REFERENCE ASSEMBLY [Microsoft.Analytics.Samples.Formats];
DECLARE @in string="adl://xyz.azuredatalakestore.net/todelete.json";
DECLARE @out string="adl://xyz.azuredatalakestore.net/todelete.tsv";
@trail2=EXTRACT results string FROM @in USING new Microsoft.Analytics.Samples.Formats.Json.JsonExtractor();
@jsonify=SELECT Microsoft.Analytics.Samples.Formats.Json.JsonFunctions.JsonTuple(results,"name","id","deviceName","deviceModel","clientip") AS rec FROM @trail2;
@logSchema=SELECT rec["name"] AS sysName,
rec["id"] AS sysId,
rec["deviceName"] AS domainDeviceName,
rec["deviceModel"] AS domainDeviceModel,
rec["clientip"] AS domainClientIp
FROM @jsonify;
OUTPUT @logSchema TO @out …Run Code Online (Sandbox Code Playgroud) 我正在考虑将我们的SSIS ETL移动到Azure Data Factory.我支持这种飞跃的论点是:
我们的来源和目标已经在云端.ADF是云原生的,所以看起来很合适.
ADF是一项服务,因此我们可以按需消费和支付.SSIS意味着许可成本,并且不会为按需消费自然放贷(我们考虑使用DevOps在临时基础上旋转ETL服务器)
使用SSIS以编程方式生成ETL代码需要非常特殊的技能,例如BIML或DTS API.通过转移到ADF,我希望在USQL中结合使用JSON和TSQL以及C#将使必要的技能更加通用.
我希望社区成员可以分享他们的经验,从而帮助我做出决定.
我有一个数据工厂,其管道复制活动如下:
{
"type": "Copy",
"name": "Copy from storage to SQL",
"inputs": [
{
"name": "storageDatasetName"
}
],
"outputs": [
{
"name": "sqlOutputDatasetName"
}
],
"typeProperties": {
"source": {
"type": "BlobSource"
},
"sink": {
"type": "SqlSink"
}
},
"policy": {
"concurrency": 1,
"retry": 3
},
"scheduler": {
"frequency": "Month",
"interval": 1
}
}
Run Code Online (Sandbox Code Playgroud)
输入数据大小约为90MB,大约150万行,分为约.Azure存储中的20 x 4.5MB块blob文件.以下是数据示例(CSV):
A81001,1,1,1,2,600,3.0,0.47236654,141.70996,0.70854986 A81001,4,11,0,25,588,243.0,5.904582,138.87576,57.392536 A81001,7,4,1,32,1342,278.0,7.5578647,316.95795, 65.65895
接收器是S2类型的Azure SQL Server,其额定值为50 DTU.我创建了一个简单的表,其中包含合理的数据类型,没有键,索引或任何花哨的东西,只有列:
CREATE TABLE [dbo].[Prescriptions](
[Practice] [char](6) NOT NULL,
[BnfChapter] [tinyint] NOT NULL,
[BnfSection] [tinyint] NOT NULL,
[BnfParagraph] [tinyint] …Run Code Online (Sandbox Code Playgroud) performance azure azure-storage-blobs azure-data-factory azure-sql-database
每当我在 ADF 中创建新管道并单击“部署”时,首先我都会看到“部署”消息,紧接着我会看到“供应”消息。有什么不同?
我们是否可以遇到它正在部署管道但不配置的情况?
谢谢
我在数据工厂中创建了一些简单的管道,它们具有不同类型的链接服务和数据集.通过写jsons手动.但都没有效果.
向导创建的管道工作并具有就绪状态.所有手动管道都具有等待状态:数据集依赖关系.它是什么意思,我该如何解决?
我想设置一个 Azure 数据工厂管道,它执行移动(即复制、验证、删除)操作,而不仅仅是 Blob 存储和数据湖存储之间的复制操作。我似乎无法找到有关如何执行此操作的任何详细信息。
目前 - 我们将数据从Hadoop内部部署服务器加载到SQL DW [通过ADF分阶段复制和DMG内部部署服务器].我们注意到ADF管道出现故障 - 当Hadoop内部部署服务器位置没有文件时[我们不希望我们的上游每天发送文件,因此其有效方案在Hadoop内部服务器位置上有ZERO文件] .
你有这种情况的解决方案吗?
下面给出错误消息
执行失败复制活动遇到用户错误:ErrorCode = UserErrorFileNotFound,'Type = Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message =找不到'HDFS'文件.,Source = Microsoft.DataTransfer.ClientLibrary,''Type = System.Net.WebException,Message =远程服务器返回错误:(404)Not Found.,Source = System,'.
谢谢,阿拉文德
这个问题可能没有得到很好的研究,但我需要在开始设计之前找到实现这个解决方案的正确方法。
问题是,我们可以使用 SSAS MDX 查询作为 Azure 数据工厂链接服务源中的数据源吗?