| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Hive数据库操作 -> 正文阅读 |
|
[大数据]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的方式,将普通表的数据导入到分桶表: 创建一张中间表 ? ?向中间表中导入数据 向中间表的数据导入到分桶表 ? ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 3:19:19- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |