我有一个带有1个主节点和4个节点的hadoop环境,我用sqoop保存mysql应用程序的所有数据
我需要通过应用程序的Web访问保存在hadoop中的这些数据,换句话说:如果用户在6个月之前创建了一个日期记录,我希望应用程序选择hadoop数据。
它们是关系数据,mysql。我不需要做任何好的分析。
提前谢谢
答案 0 :(得分:1)
据我所知,您使用sqoop将数据从MySQL导入HDFS。
现在你想在HDFS中对这些数据进行一些查询。
您可以使用 Hive 执行此操作。您可以对数据执行HQL(类似于SQL)。
您可以使用sqoop将数据直接从MySQL导入Hive。现在你在Hive中有一个类似于MySQL的表。您可以对其执行任何查询。
示例命令:
sqoop import \
--connect 'jdbc:mysql://myhost:3306/classicmodels' \
--driver com.mysql.jdbc.Driver \
--username root \
--password root \
--table abc \
--target-dir /user/dev/db/sqoop/temp_81323/ \
--hive-import \
--hive-table hive_abc \
--null-string '\\N' \
--null-non-string '\\N' \
--verbose
检查sqoop documentation以获取更多详细信息。