我尝试使用Sqoop和PIG,所以几乎所有我见过的文档都说Sqoop用于从MySQL获取数据并将其放在HDFS存储库中,然后使用PIG就可以获得这些数据。而不是那样,我想知道我是否可以直接从猪的MySQL表中读取。如果你的回答是肯定的,那么请你分享一个示例脚本。谢谢,我很感激。
答案 0 :(得分:2)
您无法直接从PIG访问MySQL。
您有两种选择:
使用Sqoop将数据提取到HDFS中,然后使用PIG脚本对其进行分析。
编写UDF并创建与MySQL的连接并获取数据并进行分析。这更像是常规的Java JDBC代码。
选项b,如果您的数据很大,将是一个糟糕的选择。 不确定你的要求,但你正在杀死Sqoop的美丽。 Sqoop优雅地创建了Mappers,后者又创建了与数据库的多个连接,以便更快地提取数据。
也许您可以分享有关您为什么要尝试此操作的详细信息。