学习
实践
活动
专区
工具
TVP
写文章

HiveHive简介

存储原理: hive的数据存储在HDFS上,hive的表其实就是HDFS的目录,hive没有自己的数据存储格式,存储结构主要包括:数据库、文件、表、视图、索引。 hive默认可以直接加载text文本文件等。创建表时,指定hive的数据的列分隔符与行分隔符,hive即可解析数据。 表: Hive中的表和关系型数据库中的表在概念上很类似,每个表在HDFS中都有相应的目录用来存储表的数据,这个目录可以通过${HIVE_HOME}/conf/hive-site.xml配置文件中的hive.metastore.warehouse.dir 如果我有一个表table1,那么在HDFS中会创建/user/hive/warehouse/table1目录(这里假定hive.metastore.warehouse.dir配置为/user/hive/ 由于Hive的元数据需要不断的更新、修改,而HDFS系统中的文件是多读少改的,这显然不能将Hive的元数据存储在HDFS中。目前Hive将元数据存储在数据库中,如Mysql、Derby中。

25450
  • 广告
    关闭

    热门业务场景教学

    个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    大数据集群搭建之Linux安装Hive2.3.2

    1、hive环境变量配置 2、配置环境立即生效 四、Hive配置 1、hive-env.sh配置 2、hive-site.xml配置 五、初始化Hive 1、复制mysql jdbc驱动包到hive lib目录 2、MySQL创建用户并赋予权限 3、启动zk和hadoop集群 4、创建hive目录并赋权 5、初始化hive数据库 6、查看hive初始化的数据库 六、启动Hive 1、启动hive 客户端 2、HDFS查看Hive目录 3、启动 HiveServer2 服务 4、查看 Hive 日志 5、查看 HiveServer2 webui 6、beeline连接Hive 七、Hive连接代码 1、hive jdbc连接 一、安装准备 1、Hive官网 Apache Hive TM 2、下载地址 Index of /dist/hive 3、官方文档 GettingStarted - Apache 、初始化hive数据库 schematool -dbType mysql -initSchema 6、查看hive初始化的数据库 六、启动Hive 1、启动hive客户端 hive SHOW DATABASES

    30220

    Hive篇---Hive使用优化

    一.前述 本节主要描述Hive的优化使用,Hive的优化着重强调一个 把Hive SQL 当做Mapreduce程序去优化 二.主要优化点 1.Hive运行方式: 本地模式 集群模式 本地模式 开启本地模式 : set hive.exec.mode.local.auto=true; 注意: hive.exec.mode.local.auto.inputbytes.max默认值为128M 表示加载文件的最大值 对于小表可以直接从从hdfs直接拿到本地计算 2.并行计算 通过设置以下参数开启并行模式: set hive.exec.parallel=true; 注意:hive.exec.parallel.thread.number = true; (该参数为true时,Hive自动对左边的表统计量,如果是小表就加入内存,即对小表使用Map join)(默认左边的加载到内存中去) 相关配置参数: hive.mapjoin.smalltable.filesize sum,count时使用) 通过设置以下参数开启在Map端的聚合: set hive.map.aggr=true; 相关配置参数: hive.groupby.mapaggr.checkinterval

    2K10

    HiveHive 的基本认识

    如上图所示: Hive 提供了 CLI(hive shell)、JDBC/ODBC(Java 访问 hive)、WeibGUI 接口(浏览器访问 hive); Hive 中有一个元数据存储(Metastore 2.Hive 基本操作 2.1 Hive 常用命令 在终端输入 hive -help 会出现: usage: hive -d,--define <key=value> Variable 另外,Hive 也会读入 Hadoop 的配置,因为 Hive 是作为 Hadoop 的客户端启动的,Hive 的配置会覆盖 Hadoop 的配置。 3、 只需要在创建表的时候告诉 Hive 数据中的「列分隔符和行分隔符」,Hive 就可以解析数据 Hive 的默认列分隔符:控制符 「Ctrl + A,\x01 Hive」 的; Hive 的默认行分隔符 6.Reference 尚硅谷Hive教程(新版hive框架详解) Hive学习之路 (一)Hive初识 Hive内部表与外部表的区别

    63640

    hive(2)——hive基本操作

    前提:开启hadoop,关闭safe模式(关闭safe模式命令:hdfs dfsadmin -safemode leave) (1)创建一个数据库hive_test ? (2)切换到hive_test ? (3)在数据库里面创建表hive_table ? 注意:这里的数据类型的写法和mysql不是很像,因为我们是从一个结构数据直接导入到我们的hive中,所以不需要在后面加括号写多大的数据,并且后面的row format跟的东西是我们以逗号将数据分开。 在hive目录下: ? 在warehouse目录下: ? 找到了我们的hive_test表,并且在hive_test.db目录下能找到我们创建的hive_table表: ? (6)将此文件导入hive_table中 ? (7)查看数据是否加入成功 ? ? ? 可见导入成功 (8)再次查看hdfs ? 可见,相当于将此文件复制到了hdfs下

    18710

    Hive基础06、Hive引入数组

    Hive基础06、Hive引入数组 目录 Hive基础05、Hive引入数组 1、建表语句 2、创建【arrayInfo.txt】 3、上传到【/soft/temp/】 4、引入数组操作 ---- 外部表在建表的同时必须指定一个指向实际数据的路径(LOCATION),Hive在创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。 5、CLUSTERED BY 对于每一个表(table)或者分区, Hive 可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分,Hive采用对列值哈希,然后除以桶的个数求余的方式决定该条记录存放在哪个桶当中 8、LOCATION 定义 hive 表的数据在 hdfs 上的存储路径,一般管理表(内部表不不要自定义),但是如果定义的是外部表,则需要直接指定一个路径。

    8810

    Hive

    Hive降低了将这些应用程序转移到Hadoop系统上的难度。凡是会使用SQL语言的开发人员都可以很轻松的学习并使用Hive。 如果没有Hive,那么这些用户就必须学习新的语言和工具,然后才能应用到生产环境中。另外,相比其他工具,Hive更便于开发人员将基于SQL的应用程序转移到Hadoop中 。 如果没有Hive,那么开发者将面临一个艰巨的挑战,如何将他们的SQL应用程序移植到Hadoop上。 Hive不是一个完整的数据库。 Hadoop以及HDFS的设计本身约束和局限性地限制了Hive所能胜任的工作。其中最大的限制就是Hive不支持记录级别的更新、插入或者删除操作。但是用户可以通过查询生成新表或者将查询结果导入到文件中。 传统数据库中在秒级别可以完成的查询,在Hive中,即使数据集相对较小,往往也需要执行更长的时间。 引自Hive编程指南

    45610

    Hive

    Hive.png Hive 运行方式 命令行 脚本 jdbc webui 搭建模式 local 单用户模式 远程模式/多用户模式 一般模式 Beeline · 服务器hiveserver2启动 · 客户端 beeline连接 HQL 建表(create) 内部表 · hive管理,删除表时源数据消失 外部表 · 非hive管理,删除表时源数据不消失 查看表描述(desc) DML 和sql基本类似,用到查询即可 分区 静态分区 动态分区 分桶 适用场景 抽样 map-join 索引 提高检索性能 SerDe 用于序列化与反序列化 构建数据存储和执行引擎之间用于解耦 用于hive和hbase的交互中 JDBC 默认端口10000 Hive函数 内置函数 自定义函数 继承udf或者udaf 重写evaluate方法 参数 配置文件 set命令 hive cli时设置(一次性) Lateral View 解决多个

    25200

    Hive基础07、Hive引入Map

    Hive基础07、Hive引入Map 1、建表语句 创建一个成绩表,记录学生的各个科目成绩: 英文关键字解析: 1、CREATE TABLE 创建一个指定名字的表,如果库中已有相同名的表,则抛出异常 外部表在建表的同时必须指定一个指向实际数据的路径(LOCATION),Hive在创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。 5、CLUSTERED BY 对于每一个表(table)或者分区, Hive 可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分,Hive采用对列值哈希,然后除以桶的个数求余的方式决定该条记录存放在哪个桶当中 8、LOCATION 定义 hive 表的数据在 hdfs 上的存储路径,一般管理表(内部表不不要自定义),但是如果定义的是外部表,则需要直接指定一个路径。

    8920

    Hivehive 数据倾斜、优化策略、hive执行过程、垃圾回收

    2. hive执行过程实例分析 Hive 将 HQL 转换成一组操作符(Operator),比如 GroupByOperator, JoinOperator 等 操作符 Operator 是 Hive 设定为严格模式(hive.mapred.mode=strict)时,不允许在 HQL 语句中出现笛卡尔积, 这实际说明了 Hive 对笛卡尔积支持较弱。 遗憾的是 Hive 的估计机制很弱,不指定 reducer 个数的情况下,Hive 会猜测确定一个 reducer 个数,基于以下两个设定: hive.exec.reducers.bytes.per.reducer 3.9 合并 MapReduce 操作 Multi-group by 是 Hive 的一个非常好的特性,它使得 Hive 中利用中间结果变得非常方便。 启动本地模式涉及到三个参数: 参数名 默认值 备注 hive.exec.mode.local.auto false 让 hive 决定是否在本地模式自动运行 hive.exec.mode.local.auto.input.files.max

    12520

    Hive基础05、Hive引入数据

    Hive基础05、Hive引入数据 前提 Hive表中的数据不能通过insert语句插入,而是load data语句进行加载,其中加载的数据来源主要包括: 1、本地文件系统加载数据 2、HDFS 文件系统加载数据 load data [local] inpath 'filePath' [overwrite] into table tableName 目录 Hive基础05、Hive引入数据 temp/info.txt' overwrite into table users; 引入数据成功:  导入完成查询一下看看: select * from users; 上传完成后可以在:【/user/hive 2、HDFS文件系统加载数据 首先要从hive中退出来,使用【exit;】即可 换个文件【hadoopInfo.txt】 1    文鸯    大将军    男 2    满宠    装逼死得快     重新引入一下: 先删除 truncate table users; 退出并重新添加数据: exit; 上传数据:  hadoop fs -put /opt/temp/hadoopInfo.txt / 再次进入hive

    9730

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 弹性 MapReduce

      弹性 MapReduce

      弹性MapReduce (EMR)结合云技术和  Hadoop等社区开源技术,提供安全、低成本、高可靠、可弹性伸缩的云端托管 Hadoop 服务。您可以在数分钟内创建安全可靠的专属 Hadoop 集群,以分析位于集群内数据节点或 COS 上的 PB 级海量数据……

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券