我正在切割我的牙齿进入Hadoop生态系统,并对MR,纱线和HDFS相当了解。
我正在探索生态系统的其他部分。我相信HiveQL可以以类似于SQL的方式在HBase上运行,而且几乎是实时的。如果是这样的话,我认为有必要将HDFS上的非结构化数据转换为结构化数据,以便在HQL中运行相对较快的查询。这是否意味着数据以非结构化形式以HDFS形式存在,然后以结构化形式复制到HDFS上供HBase和HQL使用?
此外,HiveQL是否可以以批处理模式(小时)直接运行在HDFS上的非结构化数据上。类似于Java运行的时间与job先生相似)?
发布于 2015-08-31 12:30:49
HBase是一个键值存储.它不支持SQL。
发布于 2015-08-31 13:11:08
问题1:我认为需要将HDFS上的非结构化数据转换为结构化数据,以便运行HQL中相对较快的查询。
HIVE可以通过将非结构化数据转换为结构化数据来处理非结构化数据。它提供了一种简单的方法,可以将结构应用于大量非结构化数据,然后对该数据执行类似SQL的批处理查询。
数据可以从多种格式读取,从带有逗号或空格分隔的文本的非结构化平面文件,到半结构化JSON文件,再到结构化的HBase表。
查看本文日志分析,介绍如何将非结构化日志文件转换为结构化数据并对其进行处理。
回答问题2:可以在HiveQL上的非结构化数据上以批处理模式(小时)直接运行。与Java运行的时间类似于job)?
HiveQL不能直接在非结构化数据上运行。在处理数据之前,应将其转换为结构化形式。参考上面的日志分析示例。
发布于 2015-09-18 16:28:49
HiveQL不能在半结构化数据(多种格式的数据)上运行。关于HDFS的所有数据必须采用相同的格式。该格式可以指定为Hive使用的数据库中的元数据,它用于计算HDFS中的数据结构。这是作为HDFS上的映射减少作业执行的,并且确实是长时间运行的。
用多种格式的数据在HDFS上运行所需的是PIG。蜂巢做不到。猪可以这样做,因为它是编程风格。
您可以使用映射减少作业将半结构化数据加载到HBase中。然后在HBase上实时运行蜂巢。
https://stackoverflow.com/questions/32292856
复制相似问题