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的環境配置結束。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM