zoukankan      html  css  js  c++  java
  • Mac下配置Hive环境

    在配置Hive环境之前,需要Hadoop环境

    安装Hive

    点击下载

    下载结束后,会有一个.tar文件,使用以下命令解压该文件。

    tar -zxvf 要解压的tar包

    解压完成后如下

    修改Hive配置文件

    • 在hive安装目录下的conf中,将所有后缀为.template的文件复制一遍,新文件名称只需要去掉.template即可,如下
    cp hive-default.xml.template hive-default.xml
    • 编辑hive-site.xml文件
    vim hive-site.xml

    修改内容如下

    需要在本地mysql新建一个数据库,命名为hive。

    <configuration>
    
      <property>
            <name>hive.metastore.local</name>
            <value>true</value>
        </property>
        <property>
            <name>javax.jdo.option.ConnectionURL</name>
            <value>jdbc:MySQL://127.0.0.1:3306/hive?characterEncoding=UTF-8</value>
        </property>
    
        <property>
            <name>javax.jdo.option.ConnectionDriverName</name>
            <value>com.mysql.jdbc.Driver</value>
        </property>
      <!--mysql用户名-->
        <property>
            <name>javax.jdo.option.ConnectionUserName</name>
            <value>root</value>
        </property>
      <!--mysql密码-->   <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123qwe</value> </property> <!-- hive用来存储不同阶段的map/reduce的执行计划的目录,同时也存储中间输出结果,默认是/tmp/<user.name>/hive,我们实际一般会按组区分,然后组内自建一个tmp目录存储 --> <property> <name>hive.exec.scratchdir</name> <value>/tmp/hive</value> </property> <property> <name>hive.exec.local.scratchdir</name> <value>/Users/FengZhen/Desktop/Hadoop/hive/tmp</value> </property> <property> <name>hive.downloaded.resources.dir</name> <value>/Users/FengZhen/Desktop/Hadoop/hive/resources</value> </property> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> </configuration>

    配置信息如上

    其中 hive.metastore.warehouse.dir 是在HDFS上的路径,当Hive在本地文件系统中往表中导入数据的时候,如果建表时不指定location,那么Hive会将该数据文件先拷贝到HDFS的 /user/hive/warehouse 路径下,然后再执行导入操作。每建一个表都会在hive.metastore.warehouse.dir指向的目录下以表名创建一个文件夹,所有属于这个表的数据都存在这个文件夹中。

    配置环境变量

    vim ~/.bash_profile

    在.bash_profile中加入

    export HIVE_HOME=/Users/FengZhen/Desktop/Hadoop/hive/apache-hive-1.2.2-bin
    export PATH=$PATH:$HIVE_HOME/bin

    加入完成后使用 source 命令重新执行一下该文件

    source ~/.bash_profile

    至此,Hive环境配置已经结束,进入安装目录下的bin文件夹内,启动hive

    ./hive

    hive操作语句和mysql差不多

    建表(指定列分隔符为逗号)

    create table fz(id int,name string,age int,tel string)
        ROW FORMAT DELIMITED
        FIELDS TERMINATED BY ','
        STORED AS TEXTFILE;

    导入数据

    load data local inpath '/Users/FengZhen/Desktop/Hadoop/hive/testfile/fz.txt' into table fz;

    fz.txt中内容如下

    1,fz,25,1318888888888
    2,test,20,13222222222
    3,dx,24,183938384983

    查询数据

    select * from fz;

    hive的环境配置结束。

     

  • 相关阅读:
    target runtime apache v6.0 not defined解决
    java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
    The valid characters are defined in RFC 7230 and RFC 3986问题
    invalid END header解决方法
    You have more than one version of ‘org.apache.commons.logging.Log’ visible, which is not allowed问题解决
    Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
    在eclipse中import java web项目时遇到的一些问题并将该项目通过tomcat发布
    java byte转string 涉及到字节流中有中文
    spring+mybatis框架搭建时遇到Mapped Statements collection does not contain value for...的错误
    试试看读一下Zepto源码
  • 原文地址:https://www.cnblogs.com/EnzoDin/p/6946218.html
Copyright © 2011-2022 走看看