美文网首页
Hive的安装以及数据源上传

Hive的安装以及数据源上传

作者: MayerBin | 来源:发表于2019-10-28 12:38 被阅读0次

    安装hive

    image.png

    下载地址http://mirror.bit.edu.cn/apache/hive/hive-3.1.1/

    1. 解压hive安装包

    # 解压
    tar -zxvf apache-hive-3.1.1-bin.tar.gz -C ~
    # 创建软链接
    ln -s apache-hive-3.1.1-bin hive
    
    cd hive
    
    ls
    
    

    2.配置HIVE_HOME环境变量

    vi ~/.bashrc
    
    export HIVE_HOME=/root/hive
    export PATH=$HIVE_HOME/bin:$PATH
    
    # 一定要记得这一步
    source ~/.bashrc
    
    
    image.png

    查看版本号 hive –version

    image.png

    3.在hdfs上创建hive数据存放目录

    hadoop fs -mkdir /tmp
    hadoop fs -mkdir -p /user/hive/warehouse
    hadoop fs -chmod g+w /tmp
    hadoop fs -chmod g+w /user/hive/warehouse
    
    

    4. 初始化hive库schma

    # hive安装目录下执行下面命令初始化hive 默认数据库为derby:
    cd hive
    ./bin/schematool -dbType derby -initSchema
    
    
    • 初始化成功后就会在hive的安装目录下生成derby.log日志文件和metastore_db数据库目录,目录中存放的是hive的数据库信息.
    image.png

    5.启动hive

    注意事项:

    1.在高版本的hive已经添加安全认证机制,所有需要使用hadoop用户启动.

    2.保证hadoop集群的状态是非安全模式下,使用一下命令查看到的状态是OFF

    如果是ON状态,请使用hadoop dfsadmin -safemode leave命令关闭安全模式

    当我们配置好hive的环境变量执行,直接使用hive命令启动hive的shell操作界面.

    image.png

    记得要进到hive目录下再使用hive命令

    使用show tables 如果安装成功会显示OK提示.

    数据源上传

    1. 单表

    在home下创建datas目录,然后通过xftp 把数据源上传上去

    image.png
    # 依次启动 Hadoop 与 hive进入hive 交互模式并创建库kaikeba
    create database if not exists kaikeba;
    use kaikeba;
    
    create table if not exists user_info (
    user_id  string,
    user_name  string, 
    sex  string,
    age  int,
    city  string,
    firstactivetime  string,
    level  int,
    extra1  string,
    extra2  map<string,string>)
    row format DELIMITED FIELDS TERMINATED BY '\t'
    COLLECTION ITEMS TERMINATED BY ','
    MAP KEYS TERMINATED BY ':'
    LINES TERMINATED BY '\n'
    stored as textfile;
    
    
    image.png

    加载数据源

    load data local inpath 
    '/home/datas/user_info/user_info.txt' 
    overwrite into table user_info;
    
    

    注意:上步如果出现错误 建议重启3****台虚拟环境,然后每台都要关闭防火墙,重启hadoop

    重启hive

    1. ****停止firewall

    systemctl stop firewalld.service

    2. ****禁止firewall****开机启动

    systemctl disable firewalld.service

    2. 分区表

    CREATE TABLE IF NOT EXISTS user_trade(
    user_name  string,
    piece  int,
    price  double,
    pay_amount  double,
    goods_category  string,
    pay_time  bigint)
    partitioned by (dt string)
    row format delimited fields terminated by '\t';
    
    
    image.png

    设置动态分区

    set hive.exec.dynamic.partition=true;
    set hive.exec.dynamic.partition.mode=nonstrict;    
    set hive.exec.max.dynamic.partitions=10000;
    set hive.exec.max.dynamic.partitions.pernode=10000;
    
    
    image.png

    查看hdfs上的文件

    用xshell 再次打开一个kkb001 上述保持不动做如下操作

    杀杀杀.png

    上传数据到hdfs

     hdfs dfs -put /home/datas/user_trade/* /user/hive/warehouse/kaikeba.db/user_trade
    
    
    image.png

    msck repair table + 表名

    image.png image.png

    相关文章

      网友评论

          本文标题:Hive的安装以及数据源上传

          本文链接:https://www.haomeiwen.com/subject/autbvctx.html