我们在S3完全数十GB的大量文件。 我们需要让他们进入CSV格式,目前该文件有没有逗号分隔符。 通常我会用SED做到这一点的服务器上,但我不希望有将文件传输到服务器,我想直接从S3阅读,翻译成一行CSV线,并将结果回写到新的S3文件。
胶似乎是能够做到这一点,但我感觉到了学习曲线,设置这样一个简单的任务是矫枉过正。
有没有一些简单的方法做简单的任务,因为这,也许在EMR或其他一些AWS工具? 我们采用雅典娜,我不知道这是否可以使用雅典娜的SQL语句来完成? 谢谢
我们在S3完全数十GB的大量文件。 我们需要让他们进入CSV格式,目前该文件有没有逗号分隔符。 通常我会用SED做到这一点的服务器上,但我不希望有将文件传输到服务器,我想直接从S3阅读,翻译成一行CSV线,并将结果回写到新的S3文件。
胶似乎是能够做到这一点,但我感觉到了学习曲线,设置这样一个简单的任务是矫枉过正。
有没有一些简单的方法做简单的任务,因为这,也许在EMR或其他一些AWS工具? 我们采用雅典娜,我不知道这是否可以使用雅典娜的SQL语句来完成? 谢谢
是的,这应该是很容易的,你不需要任何外部ETL工具或胶水。 假设你有一个管道分隔表命名它是基于一个管道分隔的文件“cust_transaction_pipe”,你可以使用查询雅典娜表没有任何问题。 要转换表逗号分隔,只需使用下面的查询:
create table cust_transaction_csv
with (external_location = 's3://YOUR_S3_BUCKET_NAME/cust_tx_csv/',format='TEXTFILE',field_delimiter = ',')
as
select * from cust_transaction_pipe
一旦其完整的,你可以检查您指定的位置。 会有文件逗号分隔。 您可以指定地段里面其他选项()。 对于一套完整的方案,请参阅雅典娜AWS文档的链接在这里 。