我在AWS上有一个带有三个节点的vertica集群。 我在S3中也有一些文本文件和gzip文件。 我想将这些文件从S3加载到vertica数据库表中。 步骤是什么?找不到任何简单的指南。 有什么像redshift copy命令吗?
答案 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 希望这有帮助:)