使用 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 耗时太长
使用 MapReduce 或 Sqoop 将数据加载到 Greenplum DB