【问题标题】:Batch upload using CSV to Azure Storage使用 CSV 批量上传到 Azure 存储
【发布时间】:2014-06-28 08:58:54
【问题描述】:

我在将大型 csv 文件上传到 Azure 的表存储时遇到了问题,因为它似乎从其中流式传输数据的速度非常快,以至于无法正确上传或引发大量超时错误。

这是我当前的代码:

var fs = require('fs');
var csv = require('csv');
var azure = require('azure');
var AZURE_STORAGE_ACCOUNT = "my storage account";
var AZURE_STORAGE_ACCESS_KEY =     "my access key";
var tableService =     azure.createTableService(AZURE_STORAGE_ACCOUNT,AZURE_STORAGE_ACCESS_KEY);
var count = 150000;
var uploadCount =1;
var counterror = 1;
tableService.createTableIfNotExists('newallactorstable', function(error){
if(!error){
    console.log("Table created / located");
}
else
{
    console.log("error");
}
});

csv()
.from.path(__dirname+'/actorsb-c.csv', {delimiter: '\t'})
.transform( function(row){
    row.unshift(row.pop());
    return row;
})
.on('record', function(row,index){
    //Output plane carrier, arrival delay and departure delay
    //console.log('Actor:' + row[0]);

    var actorsUpload = {
    PartitionKey : 'actors'
    , RowKey : count.toString()
    , Actors : row[0]
    };



    tableService.insertEntity('newallactorstable', actorsUpload, function(error){
        if(!error){
            console.log("Added: " + uploadCount);
        }
        else
        {
            console.log(error)
        }
    });
    count++


})
.on('close', function(count){
    console.log('Number of lines: '+count);
})
.on('error', function(error){
    console.log(error.message);
});

CSV 文件大小约为 800mb。

我知道要修复它,我可能需要分批发送数据,但我真的不知道该怎么做。

【问题讨论】:

    标签: javascript node.js batch-file csv azure


    【解决方案1】:

    我不了解 azure 包和 CSV 包,但我建议您使用流上传文件。如果您已将文件保存到您的驱动器,您可以从中创建一个read stream,然后使用该流使用createBlockBlobFromStream 上传到 azure。这个问题将我重定向到here。我建议您看一下,因为它处理编码。该代码提供了一种将文件转换为 base64 字符串的方法,但我认为使用 node.js 可以更有效地完成。不过,我将不得不对此进行调查。

    【讨论】:

    • 问题是关于将数据上传到表存储而不是 blob 存储:)
    • @GauravMantri 哦,那我希望还有一些功能可以将数据流式传输到表存储。 (我仍然希望这能将提问者指向正确的方向)
    【解决方案2】:

    hmm 我的建议是将您的文件上传到 blob 存储,您可以在表存储中引用 blob URI。阻止 blob 选项为您提供了一种简单的批量上传方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-06
      • 1970-01-01
      • 1970-01-01
      • 2019-12-01
      • 2022-07-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多