Hive中常用的一些配置操作(日志,显示等操作)

1.修改默认的数据仓库位置,在hive-site.xml文件中配置如下参数:

<property>

     <name>hive.metastore.warehouse.dir</name>

     <value>自己指定仓库位置(eg:/user/hive/warehouse)</value>

</property>

添加好参数以后,需要对指定的目录附上用户组的权限,执行以下命令:

$ $HADOOP_HOME/bin/hadoop fs -mkdir      /tmp

$ $HADOOP_HOME/bin/hadoop fs -mkdir      /user/hive/warehouse(删除原来的目录)

$ $HADOOP_HOME/bin/hadoop fs -chmod g+w  /tmp

$ $HADOOP_HOME/bin/hadoop fs -chmod g+w  /user/hive/warehouse(自己新的目录)

2.配置Hive运行日志信息的存放位置,执行如下命令:

mv  hive-log4j.properties.template      hive-log4j.properties

修改这两个参数

hive.log.dir=/opt/modules/hive-0.13.1/logs(log存放的位置)

hive.log.file=hive.log(log文件的名字)

3.指定log日志的现实级别,修改如下参数:

hive.root.logger=INFO,DRFA

4.在HIve的 cli命令行上显示当前数据库,以及查询表的行头信息,在hive-site.xml文件下增加如下参数:

<property>

      <name>hive.cli.print.header</name>

      <value>true</value>

</property>

<property>

      <name>hive.cli.print.current.db</name>

      <value>true</value>

</property>

5.在Hive启动的时候配置一些参数信息,改配置只对本次会话起作用。执行如下命令:

$ bin/hive –hiveconf   <property=value>

6.在hive的客户端执行hdfs的操作命令,执行如下命令:

dfs -ls /  查看hive的信息

dfs -rm -R   /…     删除执行文件

7.hive中常见的几种SQL操作方式:

bin/hive   -e    “select * from test”

bin/hive   -f     /usr/datas/hiveq.sql         以脚本的方式执行SQL语句

bin/hive  -f    /usr/datas/hiveq.sql    >      /usr/data/result.txt     将执行结果写入指定的文件中

bin/hive   -I       <filename>       初始化使用,通常与UDF配合使用      

8.在Hive中操作本地文件系统,只需要在命令前面加一个“!”即可

9.关于分区表的一些操作:

    1>创建一个分区表:

         create  table  test(

               username     string,

               password      string

         )

         partitioned by (month string)

         row format delimited fields termsnated by ‘\t’

      2>加载本地数据到一个分区表中:

load data local inpath ‘/usr/test/1.data’  into  table  test  partition (month=’201304′)

      3>修复分区表的两种操作:

1⃣️.   msck  repair  table  test;

2⃣️.  alter  table  test  add  partition(month=’201303′);        这种更加常用

10.将Hive中的数据导出到本地:

insert  overwrite  local  directory  ‘/usr/datas/hive-test’ 

ROW FORMAT DELIMITED  FIELDS  TERMINATED BY ‘\t’ (指定导出时的字段之间格式)

COLLECTION ITEMS TERMINATED BY ‘\n’  (指定导出时行之间的格式)

select *  from  test;

11.order by,sort by,distributed by,cluster by的区别:

order by:这个是对全局排序

sort by:这个是在reduce 中进行的局部排序

distributed by:这个类似于mapreduce中的partition,常常配合sort by一块使用,且sort by 放在后面

cluster by:当sort by 和distributed by 的字段相同时,使用cluster by代替

12.UDF编程实用方式:

    1>第一种方式:将编写的java打包成jar文件,然后在hive客户端执行如下命令:

add  jar  /usr/datas/hiveudf.jar         添加jar到当前运行的hive中

create  temporary  function  my_lower  as  “com.test.hive.udf.LowerUDF”;  创建一个函数

2>第二种方式:同样将java打包成jar然后运行如下命令(注意,这里的jar要上传到hdfs):

create  function  my_lower as “com.test.hive.udf.LowerUDF” using jar ‘hdfs://master:8020/datas/hiveudf.jar;

总结:以上为对Hive的一些简单操作,后续不断更新,请关注。。。

    原文作者:z小赵
    原文地址: https://www.jianshu.com/p/8cc301ae7b4e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞