标签:: Hive

Hive函数总结

Hive提供了包括数学函数,类型转换函数,条件函数,字符函数,聚合函数,表生成函数等的内置函数。

Hive整合HBase

Hive和Hbase有各自不同的特征:hive是高延迟、结构化和面向分析的,hbase是低延迟、非结构化和面向编程的。Hive数据仓库在hadoop上是高延迟的。Hive集成Hbase就是为了使用hbase的一些特性。Hive继承HBase可以有效利用HBase数据库的存储特性,如行更新和列索引等。在集成的过程中注意维持HBase jar包的一致性。Hive集成HBase需要在Hive表和HBase表之间建立映射关系,也就是Hive表的列和列类型与HBase表的列族及列限定词建立关联。每一个在Hive表中的域都存在与HBase中,而在Hive表中不需要包含所有HBase中的列。HBase中的rowkey对应到Hive中为选择一个域使用 :key 来对应,列族(cf映射到Hive中的其他所有域,列为(cf:cq)。

Python操作Hive数据

python操作hive,此处选用pyhive package。悲催的是Windows上不能安装后不能连接,一直报错(暂时没有解决办法)12File "D:\python\lib\site-packages\thrift_sasl-0.2.1-py3.6.egg\thrift_sasl\__init__.py", line 79, in openthrift.transport.TTransport.TTransportException: Could not start SASL: b'Error in sasl_client_start (-4) SASL(-4): no mechanism available: Unable to find a callback: 2' 以下的操作在CentOS下亲测可以实现:Python:3.6.1Hive:hive-2.1.11.安装12345pip install pyhivehttp://www.lfd.uci.edu/~gohlke/pythonlibs/vu0h7y4r/sasl-0.2.1-cp36-cp36m-win_amd64.whlpip install sasl-0.2.1-cp36-cp36m-win_amd64.whlpip install plypip install thrift-sasl

Hive列分隔符支持多字符

Hive 创建表默认的列分隔符是’\001’,而且默认不支持多字符。查看网上大都说要重写InputFormat,但是没有成功。在stackoverflow上看到一个方法,亲测可以成功。在创建表时加上:123ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe'WITH SERDEPROPERTIES ("field.delim"="@|@")STORED AS TEXTFILE

Hive-《编程指南》学习笔记

基础操作 hive.metastore.warehouse.dir表存储所位于的顶级文件目录,默认是/user/hive/warehouse 可以为不同的用户指定不同的目录,避免相互影响.set hive.metastore.warehouse.dir=/user/myname/hive/warehouse hive默认数据是derby,他会在每个命令启动的当前目录创建metadata_db目录。可以设置hive-site.xml 1javax.jdo.option.ConnectionURL=jdbc:derby:;databaseName=/home/yangql/app/hive/metastore_db;create=true hive配置连接mysql数据库 123456789101112131415161718192021222324<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop01:3306/hive?createDatabaseIfNotExist=true</value> <description> JDBC connect string for a JDBC metastore. To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL. For example, jdbc:postgresql://myhost/db?ssl=true for postgres database. </description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> <description>Username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>root</value> <description>password to use against metastore database</description> </property>

Hive-《Hive简明教程》学习

1.Hive介绍Hive是Facebook为了解决海量日志数据的分析而开发的。是一种用SQL来协助读写、管理存储在分布式存储系统上的大数据集的数据仓库软件,主要有以下几个特点: 通过类SQL来分析大数据,避免了写MapReduce来分析数据,这样使得数据分析更容易。 数据是存储在HDFS上的,Hive本身并不存储数据 Hive将数据映射成数据库和一张张表,库和表的元数据一般存储在关系数据库中。 能存储很大的数据集,并对数据的完整性,格式要求不严格。 不适用与实时计算和响应,使用于离线分析。注:后续搭建HUE平台

Hive数据库创建、表创建、加载数据

1.数据库1.1.创建数据库在Hive数据库是一个命名空间或表的集合。dbproperties,按照键值对的方式增加文档的说明。此语法声明如下:12CREATE DATABASE|SCHEMA [IF NOT EXISTS] <database name>with dbproperties(key=value,key=value) 在这里,IF NOT EXISTS是一个可选子句,通知用户已经存在相同名称的数据库。执行创建一个名为pactera数据库:

User yangql is not allowed to impersonate anonymous

使用HiveServer2 and Beeline模式运行时,启动好HiveServer后运行1beeline -u jdbc:hive2://localhost:10000 -n root 连接server时出现错误:12java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException):User yangql is not allowed to impersonate anonymous