使用Oracle作为元数据的数据库时,Oracle只能有一个LongVarchar,所以建表会报错,Hive给出的建议是修改hive-metastore-0.13.0.jar中的package.jdo文件。
将VIEW_ORIGINAL_TEXT、VIEW_EXPANDED_TEXT的jdbc-type改为CLOB
将VIEW_ORIGINAL_TEXT、VIEW_EXPANDED_TEXT的jdbc-type改为CLOB
2018-08-14
如果使用Oracle作为元数据的数据库:
hive-site.xml改为:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:oracle:thin:@IP:Port/Service_Name</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
hive-site.xml改为:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:oracle:thin:@IP:Port/Service_Name</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
2018-08-14
外部表指向已经在 HDFS 中存在数据的文件,可以创建 Partition。它和内部表在元数据的组织上是相同的,而数据的存储则有较大的差异。
内部表的创建过程和数据加载过程(这两个过程可以在同一个语句中完成),在加载数据的过程中,实际数据会被移动到数据仓库目录中;之后对数据的访问将会直接在数据仓库目录中完成。删除表时,表中的数据和元数据将会被同时删除。
而外部表只有一个过程,加载数据和创建表同时完成,实际数据是存储在 LOCATION 后面指定的 HDFS 路径中,实际数并不会移动到数据仓库目录中。
当删除一个外部表时,仅删除元数据,表中的数据不会真正被删除。
内部表的创建过程和数据加载过程(这两个过程可以在同一个语句中完成),在加载数据的过程中,实际数据会被移动到数据仓库目录中;之后对数据的访问将会直接在数据仓库目录中完成。删除表时,表中的数据和元数据将会被同时删除。
而外部表只有一个过程,加载数据和创建表同时完成,实际数据是存储在 LOCATION 后面指定的 HDFS 路径中,实际数并不会移动到数据仓库目录中。
当删除一个外部表时,仅删除元数据,表中的数据不会真正被删除。
2018-08-13
常见的 Hive CLI 命令:
- 清屏:Ctrl + L 或者 !clear;
- 查看数据仓库中的数据库:show databases;
- 查看数据仓库中的表:show tables;
- 查看表结构:`desc tb_name;`或`describe tb_name;`
- 查看建表语句:`show create table tb_name;`
- 查看数据仓库中的内置函数:`show functions;`
- 查看 HDFS 上的文件:`dfs -ls hdfs_dir;`
- 执行 Linux 操作系统的命令:`!命令;`
- 执行 SQL 脚本:`source SQL文件`
- 清屏:Ctrl + L 或者 !clear;
- 查看数据仓库中的数据库:show databases;
- 查看数据仓库中的表:show tables;
- 查看表结构:`desc tb_name;`或`describe tb_name;`
- 查看建表语句:`show create table tb_name;`
- 查看数据仓库中的内置函数:`show functions;`
- 查看 HDFS 上的文件:`dfs -ls hdfs_dir;`
- 执行 Linux 操作系统的命令:`!命令;`
- 执行 SQL 脚本:`source SQL文件`
2018-08-13
Hive 中的数据存储在 Hadoop HDFS 中,Hive 中的表和数据其实就是 HDFS 中的目录和文件:
- 在 Hive 中创建一张表就会自动在 HDFS 中创建一个文件夹
- 在该表中保存数据也就相当于在这个文件夹下面存储文件。
- 可以在 hive-site.xml 中指定数据仓库的目录:hive.metastore.warehouse.dir
- 在 Hive 中创建一张表就会自动在 HDFS 中创建一个文件夹
- 在该表中保存数据也就相当于在这个文件夹下面存储文件。
- 可以在 hive-site.xml 中指定数据仓库的目录:hive.metastore.warehouse.dir
2018-08-09
hive已经安装了,以及xml配置好了,但是运行hive,mysql里没有创建表,
原因
之前初始化保存元数据的默认数据库为derby
现在运行初始化Hive在mysql里的脚本 $HIVE_HOME/scripts
schematool -initSchema -dbType mysql
原因
之前初始化保存元数据的默认数据库为derby
现在运行初始化Hive在mysql里的脚本 $HIVE_HOME/scripts
schematool -initSchema -dbType mysql
2018-07-12
https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-8.0.11.tar.gz
2018-07-12
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://127.0.0.1:3306/hive</value>
</property>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://127.0.0.1:3306/hive</value>
</property>
2018-07-12
https://cwiki.apache.org/confluence/display/Hive/AdminManual+MetastoreAdmin
2018-07-12
## Hive 数据类型
基本数据类型:
- 整型:tinyint/smallint/int/bifint
- 浮点型:float/double
- 布尔型:boolean
- 字符串型:string/varchar/char
时间类型:
- Date:从 Hive 0.12 开始支持
- Timestamp:从 Hive 0.8 开始支持
复杂数据类型:
- Array:数组类型,由一系列具有相同数据类型的元素组成
- Map:集合类型,键值对(key/value)形式,可以通过key来访问元素
- Struct:结构类型,包含不同数据类型的元素,这些元素可以通过“点语法”访问元素。
基本数据类型:
- 整型:tinyint/smallint/int/bifint
- 浮点型:float/double
- 布尔型:boolean
- 字符串型:string/varchar/char
时间类型:
- Date:从 Hive 0.12 开始支持
- Timestamp:从 Hive 0.8 开始支持
复杂数据类型:
- Array:数组类型,由一系列具有相同数据类型的元素组成
- Map:集合类型,键值对(key/value)形式,可以通过key来访问元素
- Struct:结构类型,包含不同数据类型的元素,这些元素可以通过“点语法”访问元素。
2018-06-16
常见的 Hive CLI 命令:
清屏:Ctrl + L 或者 !clear;
查看数据仓库中的表:show tables;
查看数据仓库中的内置函数:show functions;
查看表结构:desc tb_name;或describe tb_name
查看 HDFS 上的文件:dfs -ls hdfs_dir;
执行Linux操作系统的命令:!命令;
执行SQL脚本:source SQL文件,与MySQL一样。
执行HQL语句:select * from tb_name;
清屏:Ctrl + L 或者 !clear;
查看数据仓库中的表:show tables;
查看数据仓库中的内置函数:show functions;
查看表结构:desc tb_name;或describe tb_name
查看 HDFS 上的文件:dfs -ls hdfs_dir;
执行Linux操作系统的命令:!命令;
执行SQL脚本:source SQL文件,与MySQL一样。
执行HQL语句:select * from tb_name;
2018-06-16