azure数据工厂中存储表的动态选择

0s0u357o  于 2021-06-24  发布在  Pig
关注(0)|答案(2)|浏览(383)

我有一组现有的azure存储表,每个客户机一个,用于在多租户云系统中保存事件。
例如,可能有3个表来保存登录信息:
客户签名客户签名客户签名客户签名
有没有一种方法可以作为复制操作的一部分或类似于pig脚本的内容来动态循环这些内容?
还是有别的方法可以达到这个结果?
非常感谢!

ccrfmcuu

ccrfmcuu1#

如果您在另一个位置(如azure存储)跟踪这些表,您可以使用powershell在每个表之间循环,并在每个表上创建一个配置单元表。例如:

foreach($t in $tableList) {
    $hiveQuery = "CREATE EXTERNAL TABLE $t(IntValue int)
 STORED BY 'com.microsoft.hadoop.azure.hive.AzureTableHiveStorageHandler'
 TBLPROPERTIES(
  ""azure.table.name""=""$($t.tableName)"",
  ""azure.table.account.uri""=""http://$storageAccount.table.core.windows.net"",
  ""azure.table.storage.key""=""$((Get-AzureStorageKey $storageAccount).Primary)"");"
Out-File -FilePath .\HiveCreateTable.q -InputObject $hiveQuery -Encoding ascii
$hiveQueryBlob = Set-AzureStorageBlobContent -File .\HiveCreateTable.q -Blob "queries/HiveCreateTable.q" `
  -Container $clusterContainer.Name -Force
$createTableJobDefinition = New-AzureHDInsightHiveJobDefinition -QueryFile /queries/HiveCreateTable.q
$job = Start-AzureHDInsightJob -JobDefinition $createTableJobDefinition -Cluster $cluster.Name
Wait-AzureHDInsightJob -Job $job

# INSERT YOUR OPERATIONS FOR EACH TABLE HERE

}

研究:http://blogs.msdn.com/b/mostlytrue/archive/2014/04/04/analyzing-azure-table-storage-data-with-hdinsight.aspx
如何使用powershell管理azure表?

m3eecexj

m3eecexj2#

最后,我选择了几个用c编写的azure数据工厂定制活动,现在我的工作流程是:
自定义活动:将当前切片的数据聚合到单个blob文件中,以便在pig中进行分析。
hdinsight:用pig分析
自定义活动:将数据分散到从blob存储到表存储的目标表数组中。
我这样做是为了使管道尽可能简单,并消除任何重复管道/脚本的需要。
参考文献:
在azure数据工厂管道中使用自定义活动
httpdatadownloader示例

相关问题