如何将 CSV 文件中的批量数据导入到 DynamoDB 中?

2024-01-05

我正在尝试将 CSV 文件数据导入 AWS DynamoDB。

我的 CSV 文件如下所示:

first_name  last_name
sri ram
Rahul   Dravid
JetPay  Underwriter
Anil Kumar  Gurram

您想以哪种语言导入数据?我刚刚在 Node.js 中编写了一个函数,可以将 CSV 文件导入到 DynamoDB 表中。它首先将整个 CSV 解析为一个数组,将数组拆分为 (25) 个块,然后batchWriteItem入表。

注意:DynamoDB 仅允许一次最多写入 25 条记录batchinsert。所以我们必须将数组分成块。

    var fs = require('fs');
    var parse = require('csv-parse');
    var async = require('async');

    var csv_filename = "YOUR_CSV_FILENAME_WITH_ABSOLUTE_PATH";

    rs = fs.createReadStream(csv_filename);
    parser = parse({
        columns : true,
        delimiter : ','
    }, function(err, data) {

        var split_arrays = [], size = 25;

        while (data.length > 0) {
            split_arrays.push(data.splice(0, size));
        }
        data_imported = false;
        chunk_no = 1;

        async.each(split_arrays, function(item_data, callback) {
            ddb.batchWriteItem({
                "TABLE_NAME" : item_data
            }, {}, function(err, res, cap) {
                console.log('done going next');
                if (err == null) {
                    console.log('Success chunk #' + chunk_no);
                    data_imported = true;
                } else {
                    console.log(err);
                    console.log('Fail chunk #' + chunk_no);
                    data_imported = false;
                }
                chunk_no++;
                callback();
            });

        }, function() {
            // run after loops
            console.log('all data imported....');

        });

    });
    rs.pipe(parser);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 CSV 文件中的批量数据导入到 DynamoDB 中? 的相关文章

随机推荐