当前位置:   article > 正文

【Hive总结】4. Hive的外部表与内部表_hive如何创建course.csv

hive如何创建course.csv

在Hive总结的第二篇中讲述了HBase与Hive的总结!

一、内部表

1. 准备测试数据

创建测试文件course.csv

  1. hive,90
  2. hbase,85
  3. hadoop,78
  4. flume,89
  5. sqoop,99
  6. storm,80
  7. spark,78
  8. kafka,70

第一列为课程名称,第二列为课程分数

2. 数据加载到HDFS

在hdfs文件系统中创建hive-hbase目录,并加载测试数据。

(1)查看hdfs文件目录   

hdfs dfs -ls /

(2)创建/hive-hbase/course目录

hdfs dfs -mkdir -p /hive-hbase/course

(3)将course.csv文件上传至/hive-hbase/course目录下

hdfs dfs -put course.csv的路径 /hive-hbase/course/

3. 创建Hive数据库

进入Hive Shell 客户端创建库course

create database course;

4. 创建Hive外部表

 进入Hive Shell 客户端创建外部表

  1. create external table if not exists course.testcourse
  2. (cname string,score int)
  3. row format delimited fieldsterminated by ','
  4. stored as textfile location '/hive-hbase/course';

5. 查询数据

6. 创建内部表

  1. create table course.hbase_testcourse 创建Hive内部表
  2. (key string,cname string,score int) hive表的字段
  3. STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES
  4. ("hbase.columns.mapping" = ":key,cf:cname,cf:score") hive与hbase的映射字段
  5. TBLPROPERTIES("hbase.table.name" = "hbase_testcourse"); hive与hbase的映射表

【提示】创建成功后,hive与hbase中同时都有这个表

 

7. 加载数据

  1. insert overwrite table course.hbase_testcourse
  2. select score,cname,score from course.testcourse;

 

8. hive中执行查询

【提示】在hive中删除内部表时,hbase中的表也会被删除!

 

二、外部表

创建外部表适用于该表在HBase中已经存在,但在Hive中并没有相关信息。此时可以通过创建外部表的方式,为HBase现有表提供SQL查询条件。而内部表适用于Hive和HBase都没有相关表的情况。

(1)创建HBase表

进入HBase Shell客户端执行建表命令

create 'hbase_test',{ NAME =>'cf'}

(2)插入数据

执行以下命令插入数据

  1. put 'hbase_test','hadoop','cf:score', '95'
  2. put 'hbase_test','storm','cf:score', '96'
  3. put 'hbase_test','spark','cf:score', '97'

 

(3)创建Hive外部表

 

  1. create external table course.hbase_test(cname string,score int)
  2. STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'WITH SERDEPROPERTIES
  3. ("hbase.columns.mapping" =":key,cf:score")
  4. TBLPROPERTIES("hbase.table.name" ="hbase_test");

 

(4)在hive中查询hbase表中的数据

 

通过创建外部表可以成功从Hive 查询HBase表中的数据。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/78874
推荐阅读
相关标签
  

闽ICP备14008679号