Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何将表格中的数据作为CSV从Greenplum数据库导出到AWS s3 bucket_Amazon Web Services_Amazon S3_Greenplum - Fatal编程技术网

Amazon web services 如何将表格中的数据作为CSV从Greenplum数据库导出到AWS s3 bucket

Amazon web services 如何将表格中的数据作为CSV从Greenplum数据库导出到AWS s3 bucket,amazon-web-services,amazon-s3,greenplum,Amazon Web Services,Amazon S3,Greenplum,我有一张表格里的数据 select * from my_table 它包含10k观察值。如何将表中的数据作为CSV导出到s3bucket中。 (我不想将数据导出到我的本地计算机,然后推到s3)。我建议首先使用WINSCP或文件传输将数据加载到主节点。 然后将此文件从主节点移动到S3存储 因为,将数据从主节点移动到S3存储利用了Amazon的带宽,并且比用于将文件从本地计算机传输到S3的本地连接带宽快得多。我建议首先使用WINSCP或文件传输将数据加载到主节点。 然后将此文件从主节点移动到S3存

我有一张表格里的数据

select * from my_table
它包含
10k
观察值。如何将表中的数据作为CSV导出到
s3
bucket中。
(我不想将数据导出到我的本地计算机,然后推到
s3
)。

我建议首先使用WINSCP或文件传输将数据加载到主节点。 然后将此文件从主节点移动到S3存储


因为,将数据从主节点移动到S3存储利用了Amazon的带宽,并且比用于将文件从本地计算机传输到S3的本地连接带宽快得多。

我建议首先使用WINSCP或文件传输将数据加载到主节点。 然后将此文件从主节点移动到S3存储


因为,将数据从主节点移动到S3存储利用了Amazon的带宽,并且它将比用于将文件从本地计算机传输到S3的本地连接带宽快得多。

请,请,请停止使用PostgreSQL和Greenplum标记您的问题。如果您使用的是Greenplum和PostgreSQL,那么您的问题的答案就大不相同了。我怎么强调都不过分

如果您使用的是Greenplum,那么应该在外部表中使用S3协议来读写数据到S3

所以你的桌子:

select * from my_table;
和您的外部表:

CREATE EXTERNAL TABLE ext_my_table (LIKE my_table) 
LOCATION ('s3://s3_endpoint/bucket_name')
FORMAT 'TEXT' (DELIMITER '|' NULL AS '' ESCAPE AS E'\\');
然后写入s3存储桶:

INSERT INTO ext_my_table SELECT * FROM my_table;
您将需要在Greenplum集群上进行一些配置,以便也有一个s3配置文件。这也会出现在每个段目录中

gpseg_data_dir/gpseg-prefixN/s3/s3.conf
文件内容示例:

[default]
secret = "secret"
accessid = "user access id"
threadnum = 3
chunksize = 67108864

更多关于S3的信息可以在这里找到:

请,请,请停止用PostgreSQL和Greenplum标记您的问题。如果您使用的是Greenplum和PostgreSQL,那么您的问题的答案就大不相同了。我怎么强调都不过分

如果您使用的是Greenplum,那么应该在外部表中使用S3协议来读写数据到S3

所以你的桌子:

select * from my_table;
和您的外部表:

CREATE EXTERNAL TABLE ext_my_table (LIKE my_table) 
LOCATION ('s3://s3_endpoint/bucket_name')
FORMAT 'TEXT' (DELIMITER '|' NULL AS '' ESCAPE AS E'\\');
然后写入s3存储桶:

INSERT INTO ext_my_table SELECT * FROM my_table;
您将需要在Greenplum集群上进行一些配置,以便也有一个s3配置文件。这也会出现在每个段目录中

gpseg_data_dir/gpseg-prefixN/s3/s3.conf
文件内容示例:

[default]
secret = "secret"
accessid = "user access id"
threadnum = 3
chunksize = 67108864

更多关于S3的信息可以在这里找到:

怀疑这是一个巨大的过度杀伤力,但DMS可能会这样做(请参阅)。你有没有理由不想编写一个简单的客户端(或者可能是Lambda函数)来实现这一点?你是在使用Greenplum还是Postgres?怀疑这有点过分,但DMS可能可以做到这一点(请参阅)。有什么理由不想编写一个简单的客户端(或者可能是Lambda函数)来实现这一点吗?您使用的是Greenplum还是Postgres?