我有这样的环境:
我的目标是:
我做了什么:
我的怀疑:
提前谢谢
答案 0 :(得分:3)
我无法使用Hive直接在HDFS中进行选择?
你可以。在hive中创建External Table,指定您的hdfs位置。然后你可以在它上面执行任何HQL。
我是否必须将数据加载到Hive并进行查询?
如果是外部表,您不需要在hive中加载数据;您的数据驻留在同一个HDFS目录中。
如果将新数据输入mysql数据库,获取此数据的最佳方法是什么。
您可以使用Sqoop Incremental Import。它将仅获取新添加/更新的数据(取决于增量模式)。您可以创建sqoop job并根据需要安排。
答案 1 :(得分:1)
您可以尝试 Impala ,这在SQL查询的情况下比Hive快得多。您需要定义表,最有可能指定一些分隔符,存储格式以及数据存储在HDFS上的位置(我不知道您存储的是哪种数据)。然后,您可以编写将从HDFS获取数据的SQL查询。
我没有从关系数据库中获取实时数据的经验,但您可以尝试使用cron调度Sqoop作业。