安装Hive并导入csv文件

安装Hive并导入csv文件

下载安装包

  1. 下载hive: https://mirrors.aliyun.com/apache/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz
  2. 下载hadoop: https://mirrors.aliyun.com/apache/hadoop/common/hadoop-3.3.3/hadoop-3.3.3.tar.gz
  3. 解压并配置环境变量
cd /mnt/app/local/db/
tar -xzvf hive-x.y.z.tar.gz
cd hive-x.y.z
export HIVE_HOME={{pwd}}
export PATH=$HIVE_HOME/bin:$PATH

tar -xzvf hadoop-x.y.z.tar.gz
cd hadoop-x.y.z
export HADOOP_HOME={{pwd}}
export PATH=$HADOOP_HOME/bin:$PATH

配置

  1. 创建hdfs目录
hadoop fs -mkdir       /mnt/app/data/hive/tmp
hadoop fs -mkdir       /mnt/app/data/hive/warehouse
hadoop fs -chmod g+w   /mnt/app/data/hive/tmp
hadoop fs -chmod g+w   /mnt/app/data/hive/warehouse
  1. 配置hive-site.xml
cd $HIVE_HOME/conf
# 复制编辑hive-env.sh
cp hive-env.sh.template hive-env.sh
vim hive-env.sh
export HADOOP_HOME=/mnt/app/local/db/hadoop-3.3.3
export HIVE_CONF_DIR=/mnt/app/local/db/hive-3.1.3/conf/
export JAVA_HOME=/mnt/app/sdk/sdkman/candidates/java/8.0.322.fx-zulu

# 复制并编辑hive-site.xml
cp hive-default.xml.template hive-site.xml
vim hive-site.xml

<property>
  <name>hive.metastore.warehouse.dir</name>
  <value>/mnt/app/data/hive/warehouse/</value>
</property>

<!-- 配置mysql元数据连接 -->
<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://127.0.0.1:3306/hive?characterEncoding=UTF-8&useSSL=false</value>
  </property>
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
</property>
<property>
   <name>javax.jdo.option.ConnectionUserName</name>
   <value>root</value>
  </property>
<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>${mysql_pwd}</value>
</property
  1. 下载并复制mysql 驱动
cp ~/Downloads/mysql-connector-java-5.1.46.jar lib
  1. mysql元数据初始化
$HIVE_HOME/bin/schematool -dbType mysql -initSchema

初始化成功之后, 如下图所示(前提是mysql服务正常)
安装Hive并导入csv文件_第1张图片

  1. 启动hive-cli(默认端口1000),beeline

Hive新版本推荐使用Beeline

# default port: 10000
$HIVE_HOME/bin/hiveserver2
$HIVE_HOME/bin/beeline -u jdbc:hive2://localhost:10000
  1. 启动hive-metastore
    启动 hive-metastore
# default port: 9083, presto-catalog-hive必须
bin/hive --service metastore
# Hive客户端工具后续将使用Beeline 替代HiveCLI ,并且后续版本也会废弃掉HiveCLI 客户端工具
bin/hive

使用beeline创建表, 并导入csv数据

# create table (指定分隔符号)
CREATE TABLE pokes (foo INT, bar STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

# load data
load data local inpath '/home/wiki/Documents/pokes.csv'  overwrite into table pokes;

安装Hive并导入csv文件_第2张图片

可能的报错

  1. Unable to instantiate org.apache.hadoop.hive.ql.metadata.Session

使用 bin/hive 启用了hive cli但是没有启动 hive metastore
解决方法: 使用beeline(推荐) 或者执行命令: hive --service metastore 启动hive元数据服务

你可能感兴趣的:(大数据,hive,hadoop,大数据)