我正在尝试使用 Sqoop 和 PIG,所以我见过的几乎所有文档都说 Sqoop 用于从 MySQL 获取数据并将其放入 HDFS 存储库中,然后使用 PIG 来获取这些数据。相反,我想知道是否可以直接从 Pig 读取 MySQL 表。如果你们的答案是肯定的,请分享一个示例脚本。谢谢,我很感激。
最佳答案
您无法从 PIG 直接访问 MySQL。
您有两个选择:
使用 Sqoop 将数据获取到 HDFS,然后使用 PIG 脚本对其进行分析。
编写 UDF 并创建与 MySQL 的连接并获取数据并进行分析。这更像是常规的 Java JDBC 代码。
如果您的数据很大,选项 b 将是一个糟糕的选择。 不确定你的要求,但你正在扼杀 Sqoop 的美丽。 Sqoop 优雅地创建映射器,映射器又创建与数据库的多个连接以更快地提取数据。
也许您可以分享更多详细信息,说明您尝试此操作的具体原因。
关于mysql - 使用 Sqoop 将来自 MySQL 的数据加载到 PIG 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43878900/