如何将数据从S3加载到vertica

时间:2015-10-29 21:00:57

标签: amazon-s3 vertica

我在AWS上有一个带有三个节点的vertica集群。 我在S3中也有一些文本文件和gzip文件。 我想将这些文件从S3加载到vertica数据库表中。 步骤是什么?找不到任何简单的指南。 有什么像redshift copy命令吗?

3 个答案:

答案 0 :(得分:1)

从S3存储桶向Vertica加载数据变得非常简单。此时,您不需要在节点上拥有数据。所以没有必要对s3getfile / s3cmd / s3fs做任何事情。从Vertica Library for Amazon Web Services附带的版本7.2.2 Vertica开始。该库允许您直接在COPY命令中使用URL到您的数据文件。您可以使用HTTPS URL或S3 URL。您只需要AWS访问密钥和数据文件的URL。

您的COPY命令可以简单如下:

COPY test_schema.test_load SOURCE S3(url='https://s3.amazonaws.com/yourbucket/sample_load.csv');

以下是一篇文章的链接,其中详细介绍了适用于Amazon Web Services的Vertica库的使用情况:http://www.dbjungle.com/loading-data-from-aws-s3-bucket-to-vertica-made-easy/

答案 1 :(得分:0)

正确答案是@ Kermit的评论。 非常难,指南非常好。

我真的不认为这更容易,但您也可以将其from S3 using curl流式传输并将其传递给执行var result = parser.parse("test"); console.log(result) // "test" 的vsql会话。

类似的东西(其中s3getfile是一个脚本调用curl,包含你需要的所有参数):

COPY FROM STDIN

答案 2 :(得分:-1)

Kermit指出的文件非常适合配置,但要做到这一点非常复杂。

您可以做的是在S3中创建一个存储桶并在Linux主机上安装该存储桶。

这是一篇简短的文章,您可以这样做:

HOW TO MOUNT AWS S3 BUCKET INTO AWS EC2 INSTANCE STEP BY STEP 希望这有帮助:)