0
我试图将Azure表从一个存储帐户复制到另一个存储帐户。但是,在做这个副本时,我想将列的日期时间值更改为Unix时间戳。在DataFactory活动中将DateTime更改为Unix时间戳
我正在使用Azure DataFactory复制活动。如果我在输出数据集中指定InitialDate
列类型为Int64,那么我得到的错误是cannot convert datetimeoffset to Int64
。
"activities": [
{
"type": "Copy",
"typeProperties": {
"source": {
"type": "AzureTableSource"
},
"sink": {
"type": "AzureTableSink",
"azureTablePartitionKeyName": "PartitionKey",
"azureTableRowKeyName": "RowKey",
"writeBatchSize": 0,
"writeBatchTimeout": "00:00:00"
},
"translator": {
"type": "TabularTranslator",
"columnMappings": "PartitionKey:PartitionKey,RowKey:RowKey,Timestamp:Timestamp,InitialDate"
},
"parallelCopies": 32,
"cloudDataMovementUnits": 32
},
"inputs": [
{
"name": "InputDataset-3tk"
}
],
"outputs": [
{
"name": "OutputDataset-3tk"
}
],
"policy": {
"timeout": "1.00:00:00",
"concurrency": 1,
"executionPriorityOrder": "NewestFirst",
"style": "StartOfInterval",
"retry": 3,
"longRetry": 0,
"longRetryInterval": "00:00:00"
},
"scheduler": {
"frequency": "Day",
"interval": 1
},
"name": "Activity-0-Test->Test"
}
]
反正同时复制到输出数据集,我可以改变InitialDate
列值UnixTimestamp (Int64)
?
是否有比其他TabularTranslator
任何其他翻译?我无法在网上找到任何信息。
谢谢该表已获得超过10亿个实体,复制操作需要超过10个小时。所以我想使用Datafactory的并行副本,DMU和监视功能。所以带有Storage SDK的WebJobs不是一种选择。无论如何,我可以用自定义活动(IDotNetActivity)来做到这一点吗? – Venky
根据[文档](https://docs.microsoft.com/zh-cn/azure/data-factory/data-factory-use-custom-activities#walkthrough-create-a-custom-activity),它提到我们可以用自定义活动来转换/处理数据。 –
很酷。但文件没有提及任何有关并行处理的内容。虽然我们可以在JSON中指定该属性,但不知道如何在定制活动中使用代码逻辑。 – Venky