jjzjj

MetaStore

全部标签

hive 架构及 metastore 功能简单介绍

这两天在调研用java怎么能通过hivemetastore将hive表中的数据读出来(不能用hive2),最好是能直接支持sql查询。各种查跟尝试,最终确定这条路走不通。期间研究了下hive的内部架构,其实就是看了一遍官方文档。记录下怕忘了。hive中主要有两个组件hiveserver2和hivemetastore,前者负责对外提供DML服务,后者记录了数据的元信息,在sql生成执行计划时为其提供依据。(为什么从metastore中查不了表中的数据,因为人家压根没存)。hive架构这张图是从官网截的。里面展示了主要的组件以及它跟hadoop(spark)的交互。主要组件如下:UI:用户提交查询

mysql - Hive 连接到 MySQL : Access denied for user 'hive' @'localhost' hive

我在CentOS上搭建Hive,我在同一台服务器上安装了hadoop、hive和MySQL。我还在mySQL和用户ID上设置了MetastoreDB-hive可以访问数据库。我有以下问题-错误消息如下。有人可以帮助解决这个问题吗?showdatabases;FAILED:Errorinmetadata:MetaException(message:Gotexception:org.apache.hadoop.hive.metastore.api.MetaExceptionjavax.jdo.JDODataStoreException:Accessdeniedforuser'hive'@'

mysql - 启动 spark sql 和 thrift server 时在类路径上找不到 com.mysql.jdbc.Driver

我在启动spark-sqlshell时收到以下错误。但是当我使用它运行的命令启动shell时./spark-sql--jars/usr/local/hive/lib/mysql-connector-java.jar但是当我使用下面的命令以相同的方式启动thrift服务器时,它再次抛出相同的错误。/usr/local/spark/sbin/start-thriftserver.sh--jars/usr/local/hive/lib/mysql-connector-java.jar请帮助我理解如何解决这个问题,这样我就不必从外部传递jar路径,以及为什么它适用于spark-sql情况而不适

MySQL到TiDB:Hive Metastore横向扩展之路

作者:vivo互联网大数据团队-WangZhiwen本文介绍了vivo在大数据元数据服务横向扩展道路上的探索历程,由实际面临的问题出发,对当前主流的横向扩展方案进行了调研及对比测试,通过多方面对比数据择优选择TiDB方案。其次分享了整个扩展方案流程、实施遇到的问题及解决方案,对于在大数据元数据性能上面临同样困境的开发者本篇文章具有非常高的参考借鉴价值。一、背景大数据元数据服务HiveMetastoreService(以下简称HMS),存储着数据仓库中所依赖的所有元数据并提供相应的查询服务,使得计算引擎(Hive、Spark、Presto)能在海量数据中准确访问到需要访问的具体数据,其在离线数仓

MySQL到TiDB:Hive Metastore横向扩展之路

一、背景大数据元数据服务HiveMetastoreService(以下简称HMS),存储着数据仓库中所依赖的所有元数据并提供相应的查询服务,使得计算引擎(Hive、Spark、Presto)能在海量数据中准确访问到需要访问的具体数据,其在离线数仓的稳定构建上扮演着举足轻重的角色。vivo离线数仓的Hadoop集群基于CDH5.14.4版本构建,HMS的版本选择跟随CDH大版本,当前使用版本为1.1.0-cdh5.14.4。vivo在HMS底层存储架构未升级前使用的是MySQL存储引擎,但随着vivo业务发展,数据爆炸式增长,存储的元数据也相应的增长到亿级别(PARTITION_PARAMS:8

访问 Hive 的元数据存储(MetaStore)的API方式

访问Hive的元数据存储(MetaStore)的API方式访问Hive的元数据存储(MetaStore)是通过Hive的ThriftAPI来实现的。Thrift是一个跨语言的远程服务调用框架,它可以让不同编程语言之间进行跨语言的远程过程调用(RPC)。Hive的元数据存储的ThriftAPI允许你通过编程语言(如Java、Python等)与Hive的元数据进行交互。以下是使用Java和Python编程语言访问Hive元数据存储的示例:使用Java:首先,你需要使用Maven或其他构建工具添加Hive的thrift依赖。创建一个Thrift的transport对象和一个HiveMetastore

mysql - 配置单元 2.1.1 MetaException(消息 :Version information not found in metastore.)

我在Ubuntu16.04上运行Hadoop2.7.3、MySQL5.7.17和Hive2.1.1。当我运行./hive时,我不断收到以下警告和异常:SLF4J:ClasspathcontainsmultipleSLF4Jbindings.SLF4J:Foundbindingin[jar:file:/home/server/hive/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J:Foundbindingin[jar:file:/home/server/hadoop/share/

json - 更改 Hive 中的 Derby Metastore 以允许具有 >4000B 定义的结构

我们正在创建一个Hive模式来读取大量JSON文件。我们的JSON模式相当大,我们发现Hive的默认Metastore模式不能按原样为我们工作。具体来说,我们架构中的一个字段中有大约17KiB的嵌套结构。不幸的是,对于存储结果定义的字段,Hive似乎有varchar(4000)的限制(在此处查看Derby模式def~v0.10):CREATETABLE"COLUMNS_V2"("CD_ID"bigintNOTNULL,"COMMENT"varchar(4000),"COLUMN_NAME"varchar(128)NOTNULL,"TYPE_NAME"varchar(4000),"INT

scala - 使用 Hivecontext,在本地系统 metastore_db 而不是 Cluster 中本地创建 Hive 表,在哪里放置我的 hive-site.xml

我已经创建了一个SparkContext对象,并尝试从hadoop服务器(不在我的本地)上的文本文件中检索文本,我能够检索到它。当我尝试检索Hive表(位于独立机器、集群上)时,我无法做到,当我创建一个Hive表时,它是在metastore_db中本地创建的objHiveContext.sql("createtableyahoo_orc_table(dateSTRING,open_priceFLOAT,high_priceFLOAT,low_priceFLOAT,close_priceFLOAT,volumeINT,adj_priceFLOAT)storedasorc")我尝试设置Me

maven - 当我尝试安装 Hive 2.0 时,我得到了多个 SLF4J 绑定(bind),并且 Hive Metastore 数据库未初始化

英语不是我的母语;请原谅打字错误。我尝试按照此tutorial在linux环境中使用hadoop安装hive.Hadoop安装正确,但是当我尝试安装hive时,我的shell中得到以下输出:SLF4J:ClasspathcontainsmultipleSLF4Jbindings.SLF4J:Foundbindingin[jar:file:/home/phd2014/hive/lib/hive-jdbc-2.0.0-standalone.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J:Foundbindingin[jar:file:/