hive的介绍就不多说了,是个数据仓库,可以存储结构化、半结构化的的数据,例子中的文本就是一个半结构化的数据,我们可以将其中的两条字符串通过hive变成数据表中的两条记录。
进入数据仓库(hive)的途径可以是HDFS里的数据也可以是本地数据,可以使用这样的语句,本例中我是将HDFS里的数据导入到hive中的。
在导入之前需要创建一个表,如图:
这里创建了表textlines,这个表就是用来存储从导入进来的文件,字段可以自己设置,表明存储什么内容,我这里存储的就是一条字符串
字段名称为text,类型为string。
导入数据如图命令:
如果想从本地导入,可以使用这个load data local inpath '...',这里的就会是这样的file://input/wordcount。导入成功后的数据表显示如下:
至此,数据导入完成。我原先以为做单词统计,这一张表就可以,但是我发现非常的困难,到这个地步就不能在用Hadoop里的MR来思维了,应该用RMDS的思维来解决这个问题,所以我又新建了一张表,叫words,用来存储分割字符串后的单词。
hive>create table words(word STRING);