使用 Sqoop 将来自 MySQL 的数据加载到 PIG

Posted

技术标签:

【中文标题】使用 Sqoop 将来自 MySQL 的数据加载到 PIG【英文标题】:Load data coming from MySQL into PIG using Sqoop 【发布时间】:2017-05-09 20:02:08 【问题描述】:

我正在尝试使用 Sqoop 和 PIG,所以我看到的几乎所有文档都说 Sqoop 用于从 mysql 获取数据并将其放入 HDFS 存储库中,然后使用 PIG 获取这些数据。相反,我想知道我是否可以直接从猪中读取 MySQL 表。如果您的答案是肯定的,请您分享一个示例脚本。谢谢,我很感激。

【问题讨论】:

【参考方案1】:

您不能直接从 PIG 访问 MySQL。

你有两个选择:

使用 Sqoop 将数据提取到 HDFS 中,然后使用 PIG 脚本对其进行分析。

编写 UDF 并创建与 MySQL 的连接并获取数据并进行分析。这更像是一个普通的 Java JDBC 代码。

如果您的数据量很大,选项 b 将是一个糟糕的选择。 不确定您的要求,但您正在扼杀 Sqoop 的美感。 Sqoop 优雅地创建了映射器,映射器反过来创建到数据库的多个连接以更快地提取数据。

也许你可以分享更多关于你为什么要尝试这个的细节。

【讨论】:

以上是关于使用 Sqoop 将来自 MySQL 的数据加载到 PIG的主要内容,如果未能解决你的问题,请参考以下文章

sqoop export 无法将数据从 hive 仓库文件夹加载到 mysql

使用来自 Mysql 的 sqoop 导入 Hive 耗时太长

将没有数字 ID 的非常大的表从 MySQL 加载到 S3

使用 MapReduce 或 Sqoop 将数据加载到 Greenplum DB

Sqoop_具体总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入导出

sqoop导入数据到mysql原理_sqoop的详细使用及原理