`

1 hive变量调用几种方式

    博客分类:
  • hive
 
阅读更多

 

 参考链接  http://www.crazyant.net/1451.html   疯狂蚂蚁

 

目前  hive需要的外部参数完全可以通过 将hive脚本写在 xxx.sh中 利用sh的变量来获取

这是目前工作中最常用方式。

 



 

 

1 hive使用外部变量: 分为4种情况,

 

hive中引用外部变量:  在代码中引用时使用${...};

方式1:
[root@h2single bin]# hive -d name=username;      随便定义变量 后在hive中使用此变量  
hive> create table t1(${name} string);
OK
Time taken: 3.499 seconds
hive> describe t1;
OK
username                string   





方式2:

hiveconf: 覆盖hive-site hive-default的值:

[root@h2single bin]# pwd
/usr/local/hive/bin
[root@h2single bin]# hive --hiveconf hive.cli.print.current.db=true;  显示库名称

hive (default)>   展示库名称为default

[root@h2single bin]# hive --hiveconf hive.cli.print.header=true;    查表记录时,展示字段名称

hive> select * from t4;
OK
t4.root    展示字段




方式3:system 读取java 变量 从java定义的配置属性,如system:user.name

hive> create table t3(${system:user.name} string)
    > ;
OK
Time taken: 1.278 seconds
hive> describe t3;
OK
root                    string                                      
Time taken: 0.894 seconds, Fetche


方式4:env 读取shell环境变量

hive> create table t4(${env:USER} string);
OK
Time taken: 2.891 seconds
hive> describe t4;
OK
root                    string  

 

 

 

 

2 启动时 指定hive目录:
#hive --hiveconf hive.metastore.warehouse.dir=/hive/$USER;

 

 

 

3 linux环境下执行hive语句:

 


 

如下命令均在linux下执行:
[root@h2single bin]# hive -e "show tables";
 hive -e "show tables"    linux shell下将此语句发送到shell执行 后将结果打印在linux shell下
 hive -e "show tables">tablename  将结果写到当前linux目录的tablename文件中
 hive -S -e "show tables">tablename  将和hive交互过程信息 比如耗时等 不在控制台中显示出来
$ hive -S -e "select * from stu limit 3;" > /tmp/myquery
$ cat /tmp/myquery   里面会将交互信息OK  耗时信息Time taken:4.95 seconds忽略掉
1  zhangsan
2  lisi



[root@h2single bin]# vi test.hql
show tables



[root@h2single bin]# hive -f test.hql >> a.txt

  将外部文件a.hql内容发送到hive中执行并将返回结果 追加写到当前shell目录下的 a.txt中

[root@h2single bin]# cat a.txt 
t1
t3
t4


hive -f 操作hdfs文件写法:



hive -f hdfs://<namenode>:<port>/hive-script.sql

 

 

4 hive 环境下执行linux语句:   hive环境下访问hdfs内容:
 

 

hive> dfs -ls /
    > ;
Found 4 items
drwxr-xr-x   - root supergroup          0 2015-03-06 02:35 /flume
drwxr-xr-x   - root supergroup          0 2015-03-12 17:31 /hbase
drwx-wx-wx   - root supergroup          0 2015-03-13 19:09 /tmp
drwx------   - root supergroup          0 2015-03-13 19:17 /user
hive> 

hive>dfs -rm -r /root/t5


hive环境下访问shell内容:

hive>!mkdri /usr/local/test;
 hive> ! mkdir 111;
hive> ! ls;
111
a.txt
ext
hive
hive-config.sh
test.hql
hive> 

 

 

 5  hiverc 文件 做初始化操作:

 

 

[root@h2single bin]# ls -a ~


[root@h2single bin]# vi ~/.hiverc  创建此文件 里面添加如下内容

set  hive.cli.print.current.db=true;
set  hive.cli.print.header=true;



此时在进入hive> 就会看到 显示数据库名称 查询表也会展示表字段名称

 

 

  • 大小: 15.3 KB
分享到:
评论

相关推荐

    Hive几种数据导入方式

    本文主要针对 Ambari 搭建的 Hadoop 环境下,Hive 的几种数据导入方式进行详细讲解,帮助读者更好地理解和掌握这些导入方式。 #### 1. 从本地文件系统导入数据至 Hive 表 这种方式涉及到将本地文件系统中的数据...

    Hive几种数据导出方式 – 过往记忆

    Hive几种数据导出方式,总结的几种方式希望能帮到大家

    hive 三种启动方式及用途

    这篇博客主要探讨了Hive的三种启动方式及其用途,这对于我们理解如何有效管理和操作Hive系统至关重要。 1. **独立模式(Standalone Mode)** 在独立模式下,Hive运行在本地模式,不与任何Hadoop集群交互。这种模式...

    Hive的三种方式安装与搭建

    ### Hive的三种安装与搭建方式详解 #### 一、引言 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。其优点...

    HIVE安装及详解

    * 配置HIVE环境变量 * 启动HIVE服务 使用方式: * 使用HIVE命令行工具执行查询 * 使用HIVE API开发应用程序 * 使用HIVE与其他工具集成 HIVE是一种功能强大且灵活的数据仓库工具,广泛应用于大数据分析和处理领域...

    java调用hive需要的jar

    在Java编程环境中,调用Hive服务以执行SQL查询或数据操作是一项常见的任务。Hive是基于Hadoop的数据仓库工具,允许用户通过SQL接口(HQL)处理大规模数据集。为了在Java应用程序中与Hive交互,我们需要依赖特定的JAR...

    连接hive依赖的jar包_hive连接方式

    1. **Hive驱动介绍** Hive提供了JDBC驱动,使得我们可以通过Java应用程序或IDE(如DataGrip)连接到Hive服务。Hive的JDBC驱动通常包含在名为`hive-jdbc`的JAR包中,这个包包含了与Hive通信所需的全部类和接口。 2....

    如何在python中写hive脚本

    1. **直接执行Hive SQL脚本** 可以使用`os`模块的`popen`函数直接执行存储在本地的.sql文件。例如: ```python import os hive_cmd = "hive -f ./sql.sql" output = os.popen(hive_cmd) data_cart_prop = ...

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

    Java JDBC(Java Database ...通过这种方式,你可以构建更复杂的数据处理应用程序,如数据导入、ETL流程或数据分析任务。在实际项目中,为了提高性能和可维护性,可以考虑使用Spring JdbcTemplate或MyBatis等ORM框架。

    使用php连接hive

    4. **执行HQL查询**:通过客户端对象,你可以调用Hive服务的方法来执行HQL查询。这可能涉及到构建一个Thrift结构体,包含你的查询语句,然后调用`execute`或`runQuery`等方法。 5. **处理结果**:查询的结果会以...

    hive客户端安装_hive客户端安装_hive_

    1. 将下载的Hive压缩包解压到指定目录,例如:/usr/local/hive。 2. 配置环境变量,在~/.bashrc或~/.bash_profile文件中添加以下内容: ``` export HIVE_HOME=/usr/local/hive export PATH=$PATH:$HIVE_HOME/bin ```...

    hive1_2_1jars.zip

    标题“hive1_2_1jars.zip”指的是一个包含Hive 1.2.1版本相关库的压缩文件,这些库可能用于支持Spark 3.x版本与Hive的交互。在Spark 3中,如果你需要连接到Hive元存储进行数据操作,你需要正确配置Spark的`spark.sql...

    Python 连接Hive离线方式1

    Python 连接 Hive 离线方式1 Python 连接 Hive 离线方式是指在不依赖 Hive 服务端的情况下,使用 Python 连接 Hive 数据库的方式。这种方式通常使用 pyhs2 库来实现。 标题解释 Python 连接 Hive 离线方式1 是指...

    SpringBoot整合hive-jdbc示例

    它为Hive提供了标准的数据库访问方式,使得开发者能够像操作关系型数据库一样操作Hive。 ### 2. SpringBoot项目准备 首先,我们需要一个基础的SpringBoot项目。确保你的项目中已经集成了Spring Data JPA或者...

    hivesql语句练习

    Hive几种使用方式: 1.Hive交互shell bin/hive 2.Hive JDBC服务(参考java jdbc连接mysql) 3.hive启动为一个服务器,来对外提供服务 bin/hiveserver2 nohup bin/hiveserver2 1&gt;/var/log/hiveserver.log 2&gt;/...

    hadoop+hive+mapreduce的java例子

    基于hadoop的Hive数据仓库JavaAPI简单调用的实例,关于Hive的简介在此不赘述。hive提供了三种用户接口:CLI,JDBC/ODBC和 WebUI CLI,即Shell命令行 JDBC/ODBC 是 Hive 的Java,与使用传统数据库JDBC的方式类似 Web...

    部分普通sql查询在hive中的实现方式

    Hive是一款基于Hadoop的数据仓库工具,能够对存储在Hadoop文件系统中的数据集进行数据提取、转换、加载(ETL),这是一种可以简化MapReduce编程的工具。由于Hive的设计初衷是让用户能够使用类SQL的查询语言“HiveQL...

    Hive安装配套资源.zip

    安装时,通常会将Hive解压到一个指定目录,如 `/usr/local/hive`,并设置相应的环境变量,例如 `HIVE_HOME`,以便在系统中全局调用Hive。 其次,`mysql-connector-java-5.1.27-bin.jar`是MySQL数据库的JDBC驱动,...

    Hive_JDBC.zip_hive java_hive jdbc_hive jdbc pom_java hive_maven连

    Hive JDBC(Java Database Connectivity)是Hive提供的一种接口,使得其他编程语言,如Java,能够通过JDBC驱动程序与Hive进行交互,实现数据查询、分析和操作。本教程将深入讲解如何使用Hive JDBC在Java项目中建立与...

    hive

    1. **数据仓库**:Hive 主要用于离线批处理,而非实时查询。它将结构化的数据文件映射为一张数据库表,并提供简单的 SQL 查询功能,可以将 SQL 查询语句转换为 MapReduce 任务运行在 Hadoop 上。 2. **元数据管理**...

Global site tag (gtag.js) - Google Analytics