`
gaojingsong
  • 浏览: 1182826 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Hive 基本命令操作(二)

阅读更多

hive操作

 

一、创建元数据保存在Mysql中

 

1)修改配置文件

 <!--add by gaojingsong -->
        <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://192.168.1.100:3306/hive?createDatabaseIfNotExist=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
  </property>
   <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>root</value>
    <description>password to use against metastore 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.mapping.Schema</name>
<value>HIVE</value>
</property>

2)执行初始化语句

[root@hadoop0 bin]# schematool -dbType mysql -initSchema  -userName root -passWord root -verbose

beeline>
Initialization script completed
schemaTool completed

 

二、启动hive
[root@hadoop0 bin]# hive
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/bigdata/hive2.0/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/bigdata/hadoop272/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]

Logging initialized using configuration in file:/opt/bigdata/hive2.0/conf/hive-log4j2.properties
Exception in thread "main" java.lang.RuntimeException: java.net.ConnectException: Call From hadoop0/192.168.1.111 to hadoop0:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

 

解决方案:启动Hadoop

[root@hadoop0 bin]# cd ../../hadoop272/sbin/
[root@hadoop0 sbin]# ./start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
99/06/15 09:10:03 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [hadoop0]
hadoop0: starting namenode, logging to /opt/bigdata/hadoop272/logs/hadoop-root-namenode-hadoop0.out
localhost: starting datanode, logging to /opt/bigdata/hadoop272/logs/hadoop-root-datanode-hadoop0.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /opt/bigdata/hadoop272/logs/hadoop-root-secondarynamenode-hadoop0.out
99/06/15 09:10:30 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
starting yarn daemons
starting resourcemanager, logging to /opt/bigdata/hadoop272/logs/yarn-root-resourcemanager-hadoop0.out
localhost: starting nodemanager, logging to /opt/bigdata/hadoop272/logs/yarn-root-nodemanager-hadoop0.out

验证JPS进程
[root@hadoop0 sbin]# jps
4946 NodeManager
4689 SecondaryNameNode
4847 ResourceManager
4510 DataNode
4411 NameNode
5159 Jps
[root@hadoop0 sbin]# cd ../../hive2.0/bin/
[root@hadoop0 bin]# ./hive
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/bigdata/hive2.0/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/bigdata/hadoop272/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]

Logging initialized using configuration in file:/opt/bigdata/hive2.0/conf/hive-log4j2.properties
Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. tez, spark) or using Hive 1.X releases.
hive>

 

三、执行建表语句的两种方法

1)在hive之外:hive -f  xx.sql

2)  在hive之内:source xxx.sql

[root@hadoop0 ~]# cat  /tmp/s.sql
CREATE TABLE student (id int, name string);
[root@hadoop0 ~]# cat  /tmp/teacher.sql
CREATE TABLE teacher (id int, name string);


Time taken: 0.136 seconds
hive> show tables;
OK
Time taken: 0.21 seconds
hive> source /tmp/s.sql ;
OK
Time taken: 4.527 seconds
hive> show tables;
OK
student
Time taken: 0.162 seconds, Fetched: 1 row(s)
hive>
[root@hadoop0 ~]# hive -f /tmp/teacher.sql
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/bigdata/hive2.0/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/bigdata/hadoop272/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]

Logging initialized using configuration in file:/opt/bigdata/hive2.0/conf/hive-log4j2.properties
OK
Time taken: 7.664 seconds
[root@hadoop0 ~]#
hive> show tables;
OK
student
teacher
Time taken: 0.896 seconds, Fetched: 2 row(s)

 

显示hive默认值

hive> set;

system:sun.java.command=org.apache.hadoop.util.RunJar /opt/bigdata/hive2.0/lib/hive-cli-2.0.1.jar org.apache.hadoop.hive.cli.CliDriver
system:sun.java.launcher=SUN_STANDARD
system:sun.jnu.encoding=UTF-8
system:sun.management.compiler=HotSpot Client Compiler
system:sun.os.patch.level=unknown
system:user.country=US
system:user.dir=/opt/bigdata/hive2.0/bin
system:user.home=/root
system:user.language=en
system:user.name=root
system:user.timezone=PRC

 // 打印列名
hive> set hive.cli.print.header=true;

 

创建分区表
hive> CREATE TABLE tt(
SecurityID STRING,
tradeTime STRING,
PreClosePx DOUBLE
) PARTITIONED BY (tradeDate INT)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

显示表结构
hive> DESCRIBE student;
OK
id                      int                                        
name                    string                                     
Time taken: 1.036 seconds, Fetched: 2 row(s)
展示表中有多少分区:
hive> show partitions student;
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Table student is not a partitioned table

展示表中有多少分区:(没有修改表分区,所以没有显示分区信息)
hive> show partitions tt;
OK
Time taken: 0.449 seconds
展示建表语句
hive> show create table student;
OK
CREATE TABLE `student`(
  `id` int,
  `name` string)
ROW FORMAT SERDE
  'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
STORED AS INPUTFORMAT
  'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
  'hdfs://hadoop0:9000/user/hive/warehouse/student'
TBLPROPERTIES (
  'transient_lastDdlTime'='929409669')
Time taken: 0.697 seconds, Fetched: 13 row(s)

展示建表语句
hive> show create table tt;
OK
CREATE TABLE `tt`(
  `securityid` string,
  `tradetime` string,
  `preclosepx` double)
PARTITIONED BY (
  `tradedate` int)
ROW FORMAT SERDE
  'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES (
  'field.delim'=',',
  'serialization.format'=',')
STORED AS INPUTFORMAT
  'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
  'hdfs://hadoop0:9000/user/hive/warehouse/tt'
TBLPROPERTIES (
  'transient_lastDdlTime'='929410058')
Time taken: 0.094 seconds, Fetched: 19 row(s)

hive> alter table tt add partition(tradedate=20160720) location '/tmp';
OK
Time taken: 0.256 seconds

hive> show partitions tt;
OK
tradedate=20160720
Time taken: 0.337 seconds, Fetched: 1 row(s)
hive> alter table tt add partition(tradedate=20160721) location '/tmp';
OK
Time taken: 0.256 seconds
hive> alter table tt add partition(tradedate=20160722) location '/tmp';
OK
Time taken: 0.259 seconds
hive> alter table tt add partition(tradedate=90160722) location '/tmp';
OK
Time taken: 0.235 seconds
hive> show partitions tt;
OK
tradedate=20160720
tradedate=20160721
tradedate=20160722
tradedate=90160722
hive> alter table tt drop partition(tradedate=90160722)

  • 大小: 32.3 KB
0
4
分享到:
评论

相关推荐

    Hive 基本命令操作1

    以上就是关于Hive基本命令操作的一些核心知识点,包括创建表、查看表结构、数据加载以及查询等。在实际操作中,根据业务需求选择合适的数据模型(如分区表)并正确地管理数据,能够极大地提高数据处理的效率和便利性...

    Hive基本操作命令大全

    Hive基本操作命令大全 Hive是一个基于Hadoop的数据仓库工具,可以使用SQL语言来查询和管理大规模数据。本文档将详细介绍Hive的基本操作命令,从创建表、加载数据、查询数据到数据管理等方面进行整理。 创建表 ...

    hive基本操作

    hive 基本操作的命令和hive 实用命令等,有利与学习hive和mysql

    大数据实验六实验报告:熟悉Hive的基本操作

    通过这个实验,学生能够掌握Hive的基本操作,包括创建表(内部表和分区表)、数据导入、数据查询以及动态分区的使用,这些都是大数据分析中的关键步骤。同时,了解如何在Windows环境下配置和使用Ubuntu虚拟机,以及...

    大数据技术原理及应用课实验6 :熟悉Hive的基本操作

    在这个实验中,我们将深入理解Hive的角色以及如何执行基本操作。 首先,Hive在Hadoop生态系统中的角色是作为一个数据仓库接口,它简化了对分布式存储的大数据进行查询和分析的过程。Hive将复杂的MapReduce任务转化...

    13-Hive基本操作1

    以下是关于Hive基本操作的详细说明: 1. **创建数据库**: 使用`CREATE DATABASE`语句可以创建新的Hive数据库。例如,`CREATE DATABASE DB`将创建一个名为DB的新数据库。如果希望避免因数据库已存在而引发的错误,...

    Java私塾:Hive Shell 基本操作——深入浅出学Hive

    **Java私塾:深入浅出学Hive——Hive Shell基本操作** 在大数据处理领域,Apache Hive 是一种基于 Hadoop 的数据仓库工具,它允许用户使用 SQL 类似的查询语言(HiveQL)来管理和处理存储在 HDFS 上的大量数据。...

    Hive数据文件以及CLI操作命令

    本资料包包含了两个关键文件:2013_12.csv 和 Hive指令样例.txt,分别用于理解Hive中的数据文件格式和基本操作命令。 2013_12.csv 文件是一个CSV(Comma Separated Values)文件,这是一种常见的数据交换格式,以...

    hive常用命令

    以下是对给定文件中提到的Hive常用命令的详细解析,帮助您更好地理解和掌握Hive的操作。 #### 创建表 1. **基本创建**: `CREATE TABLE pokes(foo INT, bar STRING);` - 这条命令用于创建一个名为`pokes`的表,...

    HIVE-SQL操作语句

    ### HIVE-SQL操作语句详解 #### 一、创建表 (CREATE TABLE) 在Hive中,`CREATE TABLE` 语句用于创建新的表。与传统的关系型数据库类似,但在Hive中有其特殊...掌握这些基本操作有助于更高效地管理和分析大型数据集。

    hive常用命令+日常

    ### Hive常用命令详解 #### 创建外部表(分区表) ...以上命令涵盖了Hive中常用的管理和操作命令,包括表的创建、修改、查看执行计划、加载数据以及管理分区等功能。这些命令对于维护和优化Hive数据库是非常重要的。

    Hive教程--命令

    创建数据库是 Hive 中最基本的操作之一。Hive 中的数据库是一个命名空间或表的集合。使用 CREATE DATABASE 语句可以创建数据库。在 Hive 中,配置单元包含一个名为 default 的默认数据库。CREATE DATABASE 语句的...

    Hive配置和基本操作.docx

    本实验主要涵盖了Hive的安装配置、基本操作,以及一些SQL查询语句的使用。 首先,Hive的安装与配置涉及以下步骤: 1. 上传Hive安装包到服务器,并进行解压缩。 2. 将Hive的安装目录添加到系统的环境变量中,以便在...

    Hive操作笔记(呕心沥血制作)

    【Hive 操作笔记】 Hive 是一个基于 Hadoop 的数据仓库工具,它允许用户使用类似 SQL 的查询语言(HQL)来处理存储在 Hadoop 分布式文件系统(HDFS)上的大规模数据集。Hive 提供了数据汇总、分析和查询功能,非常...

    Hive配置和基本操作.pdf

    这篇实验报告主要介绍了 Hive 的配置和基本操作,让我们详细探讨这些知识点。 首先,Hive 的配置涉及多个步骤。在实验环境中,需要确保操作系统为 Linux,Hadoop 版本为 2.x,HBase 至少为 1.1.1,Zookeeper 为 ...

    Hadoop之hive安装

    在切换到Hadoop用户下后,我们可以执行hive命令进行操作。 常见错误更改 在执行hive命令时,我们可能会遇到一些错误。例如,SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"。这种错误是因为...

    Hive的基础操作教学

    Hive的基本操作主要包括库管理和表操作。创建数据库时,可以通过`CREATE DATABASE`指令指定名称和存储位置,如`CREATE DATABASE if not exists test;`。用户可以使用`ALTER DATABASE`命令设置数据库属性,如`ALTER ...

    Hive配置和基本操作 (2).docx

    **二、Hive基本操作** 1. **创建表** - 使用`CREATE TABLE`语句创建新表,例如: ``` CREATE TABLE pokes (foo INT, bar STRING); ``` - 上述语句创建了一个名为`pokes`的表,包含两列:`foo`为整型,`bar`为...

    使用javaJDBC连接hive数据,实现简单的操作!

    在本教程中,我们将深入探讨如何使用Java JDBC连接到Hive数据库,并执行基本的数据操作。Hive是一个基于Hadoop的数据仓库工具,它允许我们对大规模数据集进行SQL-like查询。 首先,我们需要在Java项目中引入Hive ...

    hive udaf 实现按位取与或

    在Hive中,你需要将这个UDAF类编译成JAR包,然后通过`ADD JAR`命令将其添加到Hive的类路径中,接着可以使用`DEFINE`语句注册UDAF。之后,你就可以在查询中像使用内置聚合函数一样使用这个UDAF了。 六、实际应用 ...

Global site tag (gtag.js) - Google Analytics