使用Node.js将数据加载到Redshift中

使用node.js将数据插入Amazon Redshift的一些方法是什么?

这应该是非常简单的,但我无法find有效的加载的具体例子。

一种方法是使用AWS node.js SDK (文档中有一个示例 )将数据加载到S3中,然后使用node-pg将数据复制到Redshift中:

var pg = require('pg'); var conString = "postgres://user:password@db-endpoint:port/schema"; var client = new pg.Client(conString); client.connect(function(err) { if(err) { return console.error('could not connect to postgres', err); } //assuming credentials are exported as enviornment variables, //both CLI- and S3cmd-style are supported here. //Also, you may want to specify the file's format (eg CSV), //max errors, etc. var copyCmd = 'copy my_redshift_table from \'s3://your_bucket/your_file\' credentials \'aws_access_key_id=' + (process.env.AWS_ACCESS_KEY || process.env.AWS_ACCESS_KEY_ID) + ';aws_secret_access_key=' + (process.env.AWS_SECRET_KEY || process.env.AWS_SECRET_ACCESS_KEY) + '\''; client.query(copyCmd, function(err, result) { if(err) { return console.error('error running query', err); } logger.info("redhshift load: no errors, seem to be successful!"); client.end(); }); }); 

请注意,您不需要任何特殊的驱动程序来运行。