zoukankan      html  css  js  c++  java
  • Inceptor命令01-表介绍

    Inceptor命令01-表介绍

        • 表的划分-不同维度
        1. 按 Inceptor的所有权 分类可分为:外部表(或简称为外表)和托管表(内表)。
        2. 按 表的存储格式 分类可分为:TEXT表、ORC表、CSV表和Holodesk表。
        3. 按表 是否分区 可分为:分区表和非分区表。
        4. 按表 是否分桶 可分为:分桶表和非分桶表。
        • 表的划分-所有权
        • 托管表
        CREATE TABLE 默认创建托管表。Inceptor对托管表有所有权——用 DROP 删除托管表时,Inceptor会将表中数据全部删除。
        • 外表
        外表用 CREATE EXTERNAL TABLE 创建,外表中的数据可以保存在HDFS的一个指定路径上(和LOCATION <hdfs_path> 合用)。Inceptor对外表没有所有权。用DROP 删除外部表时,Inceptor删除表在metastore中的元数据而不删除表中数据,也就是说 DROP 仅仅解除Inceptor对外表操作的权利。
        • 存储格式
        Ø TEXT表、ORC表、CSV表和Holodesk表
        v TEXT表
    文本格式的表,统计和查询性能都比较低,也不支持事务处理,所以通常用于将文本文件中的原始数据导入Inceptor中。针对不同的使用场景,用户可以将其中的数据放入ORC表或Holodesk表中。
    Inceptor提供两种方式将文本文件中的数据导入TEXT表中:
        1. 建外部TEXT表,让该表指向HDFS上的一个目录,Inceptor会将目录下文件中的数据都导入该表。(推荐)
        2. 建TEXT表(外表内表皆可)后将本地或者HDFS上的一个文件或者一个目录下的数据 LOAD 进该表。这
    种方式在安全模式下需要多重认证设置,极易出错,星环科技 不推荐 使用这个方式导数据。

        v CSV表
    CSV表的数据来源为CSV格式(Comma-Separated Values)的文件。文件以纯文本形式存储表格数据(数
    字和文本),CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间
    的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。
    和TEXT表相似,CSV表常用于向Inceptor中导入原始数据,然后针对不同场景,用户可以将其中的数据放入ORC表或Holodesk表中
    星环科技 不建议在任何计算场景中使用CSV表

        v ORC表
    ORC表即ORC格式的表。在Inceptor中,ORC表还分为ORC事务表和非事务表。
    a. ORC事务表支持事务处理和更多增删改语法(INSERT VALUES/UPDATE/DELETE/MERGE),所
    以如果您需要对表进行事务处理,应该选择使用ORC事务表。
    b. ORC非事务表则主要用来做统计分析。

        v Holodesk表
    Holodesk表存储在内存或者SSD中(可以根据您的需要设置),同时,星环科技为其提供了一系列优化工
    具,使得在Holodesk表上进行大批量复杂查询能达到极高的性能。所以,如果您的数据量特别大,查询
    非常复杂,您应该选择使用Holodesk表。

        Ø Inceptor与Oracle的数据类型对应表
    Oracle     Inceptor
    CHAR     Char
    VARCHAR     Varchar2
    NCHAR     Char
    Varchar2     Varchar2
    NVarchar2     Varchar2
    Number(p,s)     Number(p,s)
    Number     Number
    Number(p)     Number(p)
    Decimal     Decimal
    Bit     Boolean
    Boolean     Boolean
    SmallInt     Decimal(38,0)
    Integer     Decimal(38,0)
    Long     Binary
    Long Raw     Binary
    Raw     Binary
    Float     N/A,可用Decimal(p,s)代替
    BinaryFloat     Float
    Double     N/A,可用Decimal(p,s)代替
    BinaryDouble     Double
    CLOB     CLOB
    NCLOB     CLOB
    BLOB     BLOB
    BFile     N/A. 可以用Binary代替使用
    Date     Date
    Timestamp     Timestamp
    Timestamp With Timezone     N/A
    Timestamp with Local Timezone     N/A
    Interval Year To Month     Interval Year To Month
    Interval Day To Second     Interval Day To Second
    Struct     Struct
    Array     Array
    RowId     N/A
    URowId     N/A

  • 相关阅读:
    熟悉常用的Linux操作
    Python基础之五星红旗
    类似于铁道部12306的城市选择框的实现
    使用Django操作数据库入门
    进程和线程
    线程、进程、携程理解
    CentOS6.8部署Python3.6.8的Django项目
    爬取妹子图片
    聚类算法之DBSCAN
    机器学习算法优缺点总结
  • 原文地址:https://www.cnblogs.com/wang3680/p/12809275.html
Copyright © 2011-2022 走看看