zoukankan      html  css  js  c++  java
  • hive基础知识

    hive的数据模型包括:databasetablepartitionbucket

    Hive 的架构设计与运行流程,及其各模块的主要作用,请画出架构图

    Hive 支持的文件格式和压缩格式,及其各自的特点

    Hive 内外表的区分方法,及内外表的差异点

    未被external修饰的是内部表(managed table),被external修饰的为外部表(external table);
    区别:
    内部表数据由Hive自身管理,外部表数据由HDFS管理;
    内部表数据存储的位置是hive.metastore.warehouse.dir(默认:/user/hive/warehouse),外部表数据的存储位置由自己制定;
    删除内部表会直接删除元数据(metadata)及存储数据;删除外部表仅仅会删除元数据,HDFS上的文件并不会被删除;
    对内部表的修改会将修改直接同步给元数据,而对外部表的表结构和分区进行修改,则需要修复(MSCK REPAIR TABLE table_name;)

     Hive 视图如何创建,视图有什么特点,及其应用场景

    视图逻辑存在,只存在于元数据库中,只读,View内可能包含ORDER BY/LIMIT语句,Hive支持迭代视图。

    hive> drop view  if exists v_custname;
    OK
    Time taken: 40.215 seconds
    hive> create view v_custname as select age,custname from customers where sex=1 order by age;
    OK
    age     custname
    Time taken: 1.158 seconds

    scala> import org.apache.spark.sql.hive.HiveContext

    import org.apache.spark.sql.hive.HiveContext

    scala> val hcon=new HiveContext(sc)

    warning: there was one deprecation warning; re-run with -deprecation for details

    hcon: org.apache.spark.sql.hive.HiveContext = org.apache.spark.sql.hive.HiveContext@37c5be11

    scala> hcon.sql("select * from gamedw.v_custname")

    res138: org.apache.spark.sql.DataFrame = [age: int, custname: string]

    scala> hcon.sql("select * from gamedw.v_custname").show

     +---+---------------+                                                          
    |age|       custname|
    +---+---------------+
    |  5|          nihao|
    |  5|          nihao|
    |  5|          nihao|
    |  5|          nihao|
    | 20|       zhangsan|
    | 20|       zhangsan|
    | 20|       zhangsan|
    | 20|       zhangsan|
    | 20|       zhangsan|
    | 20|       zhangsan|
    | 20|       zhangsan|
    | 32|        liuyang|
    | 32|        liuyang|
    | 32|        liuyang|
    | 32|        liuyang|
    | 32|        liuyang|
    | 32|        liuyang|
    | 32|        liuyang|
    | 50|tianyt_touch100|
    | 50|tianyt_touch100|
    +---+---------------+
    only showing top 20 rows

     

    Hive 常用的 12 个命令,及其作用

    hive> create database if not exists GameDW;

    OK Time taken: 0.013 seconds

    或者

    hive> create schema if not exists GameDW;

    OK Time taken: 0.007 seconds

    hive> create database if not exists GameDW;

    OK Time taken: 0.013 seconds

    或者

    hive> create schema if not exists GameDW;

    OK Time taken: 0.007 seconds

    查看数据库属性

    hive> describe database gamedw;

    删除数据库

    hive 不允许删除含有表的库,只有先删除表,才能删掉数据库;后面加上CASCADE(级联),就会在删除数据库前,先删除库里面的表

    ;不用CASCADE,使用restrict和默认删除一样 ,不能删除存在表的数据库;

    hive> drop database if exists aaa CASCADE; OK

    查看数据库属性

    hive> describe database gamedw;

    OK gamedw       

       hdfs://localhost:9000/user/hive/warehouse/gamedw.db     root    USER Time taken: 0.009 seconds, Fetched: 1 row(s)

    hive> describe database extended gamedw;

    OK

    gamedw          hdfs://localhost:9000/user/hive/warehouse/gamedw.db     root    USER    {creator=tianyongtaao} Time taken: 0.011 seconds, Fetched: 1 row(s)

    hive> desc extended v_custname;
    OK
    col_name        data_type       comment
    age                     int                                        
    custname                string                                     
                    
    Detailed Table Information      Table(tableName:v_custname, dbName:gamedw, owner:root, createTime:1535009983, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:age, type:int, comment:null), FieldSchema(name:custname, type:string, comment:null)], location:null, inputFormat:org.apache.hadoop.mapred.TextInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:null, parameters:{}), bucketCols:[], sortCols:[], parameters:{}, skewedInfo:SkewedInfo(skewedColNames:[], skewedColValues:[], skewedColValueLocationMaps:{}), storedAsSubDirectories:false), partitionKeys:[], parameters:{transient_lastDdlTime=1535009983}, viewOriginalText:select age,custname from customers where sex=1 order by age, viewExpandedText:select `customers`.`age`,`customers`.`custname` from `gamedw`.`customers` where `customers`.`sex`=1 order by age, tableType:VIRTUAL_VIEW)
    Time taken: 0.357 seconds, Fetched: 4 row(s)


    desc formatted v_cust; 可以获得更加详细信息

    select

    alter table

    alter database

    create table

    create database

    desc tablename

    load data local inpath 'path’ into table aa partition(statdate=20170403)

    alter table aa change col2 name string;

    alter table aa add columns(col3 string);

    alter table aa rename to aa_test;

    show partitions aa;

    1. alter table aa partition(statdate=20170404) rename to partition(statdate=20170405);
    2. alter table bb partition(statdate=20170404) set location '/user/gaofei.lu/aa.txt';
    3. alter table aa drop if exists partition(statdate=20170404);
    4. set hive.execution.engine=spark

    hive> desc database gamedw;
    OK
    db_name comment location        owner_name      owner_type      parameters
    gamedw          hdfs://localhost:9000/user/hive/warehouse/gamedw.db     root    USER
    Time taken: 0.15 seconds, Fetched: 1 row(s)

    Hive 常用的 10 个系统函数,及其作用

    sum  max  concat avg count round floor ceil abs  cast unix_timestamp() date_diff year month hour  case when isnull instr length trim

     

    请简述 udf/udaf/udtf 是什么,各自解决的问题,及典型代表应用场景

     UDF(User-Defined-Function),用户自定义函数对数据进行处理。UDF函数可以直接应用于select语句,对查询结构做格式化处理后,再输出内容。

    UDAF(User- Defined Aggregation Funcation)用户定义聚合函数,可对多行数据产生作用;等同与SQL中常用的SUM(),AVG(),也是聚合函数;

    UDTF:User-Defined Table-Generating Functions,用户定义表生成函数,用来解决输入一行输出多行;继承GenericUDTF类,重写initialize(返回输出行信息:列个数,类型), process, close三方法;

    udaf 的实现步骤,及其包含的主要方法,及每个方法要解决的问题,并写代码自实现聚合函数 max 函数?

     hive 设置参数的方法有哪些?并列举 8 个常用的参数设置?

    HIVE 数据倾斜的可能原因有哪些?主要解决方法有哪些?

    数据仓库之数据架构设计图,及每个模块的主要作用?

    这里写图片描述

  • 相关阅读:
    tensorflow2.0 GPU和CPU 时间对比
    第一次使用FileZilla Server
    PremiumSoft Navicat 15 for Oracle中文破解版安装教程
    Unmapped Spring configuration files found. Please configure Spring facet or use 'Create Default Context' to add one including all unmapped files.
    ng : 无法加载文件 D: odejs ode_global g.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
    angular
    Github上优秀的go项目
    win10---file explore 中remove quick access folder
    react--useEffect使用
    linux---cat 和 grep 的妙用
  • 原文地址:https://www.cnblogs.com/playforever/p/9523978.html
Copyright © 2011-2022 走看看