zoukankan      html  css  js  c++  java
  • hive进阶学习的总结

      hive的安装和MySQL的安装以及关联,这里不再赘述,本章主要讲一下hive2的使用以及一些需要注意的问题。

    一.因为现在hive已经不能满足人们更高的需求了,所以hive2成为了主流的应用查询和计算工具。hive将MapReduce的源代码进行封装,

    通过写sql语句将其以MapReduce的方式进行运算。但缺少了执行过程的逻辑性,所以利弊各有。

    1、  现在我们用beeline进行连接jdbc进行操作。

    首先连接hiveserver2,可以后台运行,如果需要看到执行进程,可另外新建窗口连接;然后连接beeline,进入后,我们连接jdbc,默认端口为10000端口———!connect jdbc:hive2://机名:10000

      输入相应设置的连接名和连接密码后,可以正常实用beeline并连接到数据库。

    2.先看看我们有哪些数据库:show databases; 也可建立新的数据库:create database 名;

     实用数据库: use 数据库名;    显示数据表: show tables;或创建。

    3.创建表

    创建表只要学过数据库的问题都不大,额外要会对文本进行考量。

    你要知道所创建的表用来存放哪些数据的;这些数据都是什么类型的;字段之间用什么进行分割的;最后是以什么文本形式存在的。

    create table if not exists emp_basic (
    emp_id int,
    quit_date date
    )
    row format delimited
    fields terminated by ','
    stored as textfile;

      当然,对于文本的定义,可能还会出现array数组、map键值对、集合collection等,都需要我们对其进行规则定力。

    4、内部表和外部表的区别

    正常的建表大都是内部表。外部表的建立有明显特征,创建语句含external,且有固定存储的独立路径 location 。

    区别:内部表---具有处置权,可以进行正常的增删改查。经验用于统计,查询,修改数据等操作;

       外部表---只能进行相应的查询,增加只会独立新的模块,本身不变化。经验用于数据分享。

        这样符合了HDFS的那句话:文件都是   ----   一次写入,多次读取。

    5、分区partition

      分区分桶都有开启的模式,百度即可。

    创建分区表分为静态分区和动态分区。

    静态分区:在创建表的时候就创建好分区,数据依据分区写入。分区单一,需要手动添加。如   

    create table m1(
    id int,
    name string)
    partitionde by(id)
    row format .....

    动态分区:是在传入数据的过程中产生分区,分区自动生成,省去了许多。如

    insert overwrite table par
    partition(sex='man',dt)
    select name, nation, dt
     from par_tab;

    6.分桶bucket

    对于每一个表或者分区,可以进一步细分成桶,桶是对数据进行更细粒度的划分。

    clusterd by(id) into 4 buckets是关键字段,意思是按照哪个列分为几桶。

    查询可以根据分开的桶进行查询,提速查询结果;

  • 相关阅读:
    【leetcode】1020. Partition Array Into Three Parts With Equal Sum
    【leetcode】572. Subtree of Another Tree
    【leetcode】123. Best Time to Buy and Sell Stock III
    【leetcode】309. Best Time to Buy and Sell Stock with Cooldown
    【leetcode】714. Best Time to Buy and Sell Stock with Transaction Fee
    【leetcode】467. Unique Substrings in Wraparound String
    【leetcode】823. Binary Trees With Factors
    【leetcode】143. Reorder List
    【leetcode】1014. Capacity To Ship Packages Within D Days
    【leetcode】1013. Pairs of Songs With Total Durations Divisible by 60
  • 原文地址:https://www.cnblogs.com/qianshuixianyu/p/9455762.html
Copyright © 2011-2022 走看看