首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Sqoop将S3中的拼花数据导入HDFS?

如何使用Sqoop将S3中的拼花数据导入HDFS?
EN

Stack Overflow用户
提问于 2021-09-08 18:20:57
回答 2查看 222关注 0票数 0

我正在尝试将数据导入RDS中的一个表中。数据以拼花文件格式显示,并以s3格式显示。我考虑使用s3将数据从Sqoop导入HDFS,然后使用Sqoop将其导出到RDS表中。我找到了将数据从HDFS导出到RDS的命令。但是我找不到从S3导入拼花数据的方法。在这种情况下,请帮助您如何构造sqoop import命令。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-09-17 15:18:33

对我来说,似乎最简单和最好的方法如下:

  • 在Hive中创建一个Parquet表,并使用来自S3的Parquet数据加载它
代码语言:javascript
复制
create external table if not exists parquet_table(<column name> <column's datatype>) stored as parquet;

LOAD DATA INPATH 's3a://<bucket_name>/<parquet_file>' INTO table parquet_table
  • 在Hive中创建CSV表,并使用Parquet表中的数据加载它
代码语言:javascript
复制
create external table if not exists csv_table(<column name> <column's datatype>)
row format delimited fields terminated by ','
stored as textfile
location 'hdfs:///user/hive/warehouse/csvdata'
  • 现在我们在Hive中有了一个CSV/Textfile,Sqoop可以轻松地将表从HDFS导出到MySQL表RDS。
代码语言:javascript
复制
export --table <mysql_table_name> --export-dir hdfs:///user/hive/warehouse/csvdata --connect jdbc:mysql://<host>:3306/<db_name> --username <username> --password-file hdfs:///user/test/mysql.password --batch -m 1 --input-null-string "\\N" --input-null-non-string "\\N" --columns <column names to be exported, without whitespace in between the column names>
票数 0
EN

Stack Overflow用户

发布于 2021-09-09 19:56:26

您可以使用火花将数据从s3复制到HDFS。

有关更多细节,请阅读博客。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69107946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档