Hive数据库操作 |
您所在的位置:网站首页 › vivoy5s怎么切换数据 › Hive数据库操作 |
1、查看数据库 2、创建数据库,db_hive为数据库名; 显示创建后的数据库 创建数据库db_hive2,并指定在HDFS上的存储位置: location 指定数据库在HDFS中的地址,不指定时默认使用数据仓库地址。 上述命令执行成功后,若HDFS目录/HBase/data/hbase目录中不存在db_hive2则会自动创建。 创建db_hive,并添加注释“hive database”: commect 添加注释: 创建数据库db_hive,并定于相关属性 with dbproperties 指定数据库的属性信息,属性名与属性值均可以自己定义 3、修改数据库 修改数据库的自定义属性 : 创建testdb数据库,然后使用desc命令查看testdb的数据库默认描述信息 执行命令给testdb添加自定义属性createtime:
修改数据库所有者: 修改数据库testdb的所有者用户为root1, 此时查看数据库testdb的描述信息,发现所有者用户变为了root1: 4、选择数据库 选择一个数据库作为后续的HIVEQL的执行数据库, hive中默认了一个数据库default,切换为默认命令; 5、删除数据库 删除数据库testdb,若数据库中无表数据则删除成功,若数据库中有表数据则抛出异常 删除数据库testdb,无论数据库中是否如有表数据都将强制删除; 6、显示数据库
过滤显示数据库前缀为db_hive的所有数据库 查看当前所使用的数据库 HIVE表操作 hive表由实际存储的数据和元数据组成,实际数据一般存储与HDFS中,元数据一般存储与关系型数据库中; 内部表 1、创建表,使用数据库test_db: 创建student表,其中字段id为整型,字段name为字符串: 然后查看数据仓库目录生成的文件,可以看到数据仓库目录中的test_db文件夹下有一个名为student的文件夹 2、查看表结构 显示详细表结构,包括表的类型以及在数据仓库的位置信息: 3、向表中插入数据
4、查询表中数据 5、将本地文件导入hive 新建学生分数表score,其中学号sno为整型,姓名name为字符串,得分为score为整型,并指定tab键作为字段分隔符: 在本地目录/home中新建score.txt文件。并写入以下内容,列之间用tab键隔开: 查询表的所有数据
查看数据仓库对应的数据文件 6、删除表
外部表 1、创建外部表时,如果不指定location关键字,则默认将表创建于数据仓库目录中: 在数据库test_db中创建外部表emp:
上述可以看到生成了一个文件夹emp,不用的文件可以删除,可以很清晰的保留需要的文件 创建外部表时,如果指定location关键字,则将表创建于指定的HDFS位置: 在数据库test_db中创建外部表emp2,并指定在HDFS中的存储目录为/HBase/data,表字段分隔符为Tab键: 在本地目录/home/hadoop下创建文件emp.txt,并将文件导入表emp2. 查看HDFS目录/input/hive中生成的文件
查看导入的文件内容
查看表emp2的数据
删除表时不会删除实际数据,但元数据会被删除 在数据库test_db中创建外部表emp3,并指定表数据所在的hdfs中的存储目录为 /HBase/data
查询emp3的所有数据 分区表 将student表的年龄age和性别列gender同时指定为分区列: 加载数据命令: 创建分区表 在数据库testa_db中创建分区表student2,表student包含四列,将年龄作为分区列:
导入数据,并指定分区值为age=17 查看HDFS数据仓库中表student目录中的文件,发生生成了一个名为age=17的文件夹,且文件fiel1.txt也导入发哦了该文件夹中,
查询分区表数据
使用关键字union关键字将多个分区联合查询 删除分区
同时删除多个分区
查看分区 分桶表 一个分区会存储一个目录,数据文件存储在目录中,一个分桶存储一个文件,数据内容存储在该文件中 1、分桶操作 查看表user_info的描述信息
2、向分桶表中导入数据 发现上述错误,Hive默认不支持通过load命令导入数据到分桶表,可以通过中间表导入,先将数据导入一张中间表中,然后通过insert ....select的方式,将普通表的数据导入到分桶表: 创建一张中间表
向中间表中导入数据 向中间表的数据导入到分桶表
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |