zoukankan      html  css  js  c++  java
  • 大数据学习之Hive数据仓库 20

    一:hive概述

    Apache Hive™数据仓库软件有助于使用SQL读取,编写和管理驻留在分布式存储中的大型数据集。

    可以将结构投影到已存储的数据中。提供了命令行工具和JDBC驱动程序以将用户连接到Hive。

    数据计算:mapreduce分布式计算­>难度大

    hive­>SQL语句 mysql 简化开发 减少学习成本

    二:优缺点

    优点:

    1)操作接口采用了sql,简化开发,减少学习成本

    2)避免手写mapreduce程序

    3)hive执行延迟较高,适用场景大多用在对实时性要求不强的情景

    4)优点在于处理大数据

    5)支持自定义函数

    缺点:

    1)hive的sql表达能力有限(HSQl)

    2)hive效率低

    三:hive架构

    提供了一系列接口:hive shell、jdbc/odbc、webui

    四:Hive安装

    1)下载安装包

    http://hive.apache.org/downloads.html

    2)上传安装包

    alt+p

    3) 解压

    tar -zxvf .tar

    4) 修改配置文件

    vi hive-env.sh

    HADOOP_HOME=/root/training/hadoop-2.8.4

    export HIVE_CONF_DIR=/root/training/hive/conf

    5) 启动hive前启动hadoop集群

    start-dfs.sh

    start-yarn.sh

    start-all.sh

    6) 在hdfs上创建文件夹

    hdfs dfs -mkdir /tmp

    hdfs dfs -mkdir -p /user/hive/warehouse/

    7) 启动hive

    bin/hive

    五:hive测试

    1)查看数据库

    show databases;

    2) 使用数据库

    use default;

    3) 查看表

    show tables;

    4) 创建表

    create table itstar(id int,name string);

    5)插入数据

    insert into itstar values(1,"hunter");

    6) 查询

    select * from itstar;

    7) 删除表

    drop table itstar;

    8) 退出终端

    quit;

    六:操作数据

    1)准备数据

    vi  istar.txt

    1 hunter

    2  zhangsan

    3  delireba

    4  yangmi

    5 baby

    2)创建hive

    create table itstar(id int,name string)

    row format

    delimited fields

    terminated by " ";

    3)加载数据

    load data local inpath '/root/itstar.txt' into table itstar;

    七:配置hive元数据到mysql

    为什么将原数据存在MySQL中?因为默认是将元数据信息存在Derby数据库中的,该数据库只能一个人进行操作,所以不是很好。改用MySQL存储元信息可以解决这个问题!!

    前提:已经装好了MYSQL,关于如何在Linux中安装MySQL在上一篇文章就是如何装MySQL

    1)驱动拷贝

    拷贝mysql­connector­java­5.1.27­bin.jar到/root/hd/hive/lib/下

    2)配置MetastoreMySql

    -》在/root/hd/hive/conf目录下创建一个hive-site.xml

    -》根据官方文档配置参数,拷贝数据到hive-site.xml文件中(hive/conf/下创建文件)

    <configuration>

    <property>

    <name>javax.jdo.option.ConnectionURL</name>

    <value>jdbc:mysql://localhost:3306/metastore?createDatabaseIfNotExist=true</value>

    <description>JDBC connect string for a JDBC metastore</description>

    </property>

    <property>

    <name>javax.jdo.option.ConnectionDriverName</name>

    <value>com.mysql.jdbc.Driver</value>

    <description>Driver class name for a JDBC metastore</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.ConnectionPassword</name>

    <value>199902</value>

    <description>password to use against metastore database</description>

    </property>

    </configuration>

    八:hive数据类型

  • 相关阅读:
    Spring 事务管理
    016 sleep,wait,yield,join区别
    013 GC机制
    011 CountDownLatch,CyclicBarrier和Semaphore
    012 public等关键字可见性
    010 JVM类加载
    009 JVM内存结构以及GC机制
    008 BlockingQueue理解
    python3 正则表达式
    python django
  • 原文地址:https://www.cnblogs.com/hidamowang/p/10894340.html
Copyright © 2011-2022 走看看