Hadoop4、Mac系统上,hive数据仓库的介绍和配置,基于Centos7与Hadoop2.7.3

一、hive的介绍:

    高手博客不错: https://www.cnblogs.com/ggzhangxiaochao/p/9363029.html

二、hive的安装和配置

    1、下载hive2.1-tar.gz
    2、tar开
        $>tar -xzvf hive-2.1.0.tar.gz -C /soft    //tar开
        $>cd /soft/hive-2.1.0                          //
        $>ln -s hive-2.1.0 hive                      //符号连接

    
    3、配置环境变量
        [/etc/profile]
        HIVE_HOME=/soft/hive
        PATH=...:$HIVE_HOME/bin

    4、验证hive安装成功
        $>hive --v

    5、配置hive,使用win7的mysql存放hive的元数据.
        a)复制mysql驱动程序到hive的lib目录下。
            ...
        b)配置hive-site.xml
            复制hive-default.xml.template为hive-site.xml
            修改连接信息为mysql链接地址,将${system:...字样替换成具体路径。
            [hive/conf/hive-site.xml]

 <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>root</value>
                
    <description>
        password to use against metastore database
    </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.ConnectionURL</name>
    <value>jdbc:mysql://192.168.231.1:3306/hive2</value>
 </property>
 <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>

        c)在msyql中创建存放hive信息的数据库
            mysql>create database hive2 ;

        d)初始化hive的元数据(表结构)到mysql中。
            $>cd /soft/hive/bin
            $>schematool -dbType mysql -initSchema

三、hive命令行操作
     1、创建hive的数据库

        $hive>hive --version                //
        $hive>hive --help                    //

        $hive>create database mydb2 ;                //
        $hive>show databases ;
        $hive>use mydb2 ;
        $hive>create table mydb2.t(id int,name string,age int);
        $hive>drop table t ;
        $hive>drop table mydb2.t ;
        $hive>select * from mydb2.t ;        //查看指定库的表
        $hive>exit ;                        //退出

        $>hive                                //hive --service cli
        $>hive                                //hive --service cli

四、hive创建表结构的命令

CREATE TABLE `tmp.tmp_dictionary`(
  `type_name` STRING,
  `deviceId` STRING,
  `deviceNo` STRING,
  `userId` STRING,
  `doorIndex` STRING,
  `ret` STRING,
  `operateId` STRING,
  `openDoorType` STRING,
  `fpId` STRING,
  `alert` STRING,
  `status` STRING,
  `doorState` STRING,
  `powerMode` STRING,
  `battLevel` STRING,
  `alertState` STRING,
  `hardWareVersion` STRING,
  `firmWareVersion` STRING,
  `networkName` STRING,
  `id_number` STRING,
  `createTime` STRING,
  `msg` STRING,
  `msgType` STRING,
  `token` STRING,
  `msgTime` STRING )
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' 
WITH SERDEPROPERTIES ( 
  'field.delim'='|', 
  'line.delim'='\n') 
STORED AS INPUTFORMAT 
  'org.apache.hadoop.mapred.TextInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION 
  'hdfs://hadoop-001.zeepson.com:8020/user/hive/warehouse/tmp.db/tmp_dictionary'

五、hive命令加载数据的步骤

   

创建表之前先查询下hadoop的core-site.xml 下 hdfs的位置
1、whereis hadoop  查询hadoop的安装位置
2、查到hdfs的位置后
3、通过命令查询warehouse的地址 ,找到hive库的地址
   hadoop fs -ls -R hdfs://xxxx 看看有哪些目录吧

---------------------------
1、先hive 命令执行
2、显示当前数据库 show databases;
3、创建数据库名为 tmp  create database tmp;
4、使用 tmp 数据库   use tmp;
5、然后执行建表语句

---------------------------

存数据

1、先把csv文件导入服务器
2、使用pwd 命令查询文件路径  
3、执行load命令上传数据到hive
   
   load data local inpath '/root/hiveTmp/dictionary.csv' overwrite into table tmp.tmp_dictionary;

4、进入hive 
   
   select * from tmp_dictionary limit 5;


load data local inpath '/root/data/1.csv' overwrite into table tmp.tmp_sub;

     

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值