zoukankan      html  css  js  c++  java
  • 自定义hive文件和记录格式及文本文件数据编码

    (1)一段 建表语句:

    [ROW FORMAT row_format] 
    [STORED AS file_format]
    | STORED BY 'storage.handler.class.name'
    [WITH SERDEPROPERTIES (...)] -- (Note: Available in Hive 0.6.0 and later) ]

    row_format :
    :DELIMITED
    [FIELDS TERMINATED BY char [ESCAPED BY char]]
    [COLLECTION ITEMS TERMINATED BY char]
    [MAP KEYS TERMINATED BY char]
    [LINES TERMINATED BY char]
    [NULL DEFINED AS char] -- (Note: Available in Hive 0.13 and later)
      | SERDE serde_name [WITH SERDEPROPERTIES (property_name=property_value, property_name=property_value, ...)]

    file_format:
    : SEQUENCEFILE
    | TEXTFILE -- (Default, depending on hive.default.fileformat configuration)
    | RCFILE -- (Note: Available in Hive 0.6.0 and later)
    | ORC -- (Note: Available in Hive 0.11.0 and later)
    | PARQUET -- (Note: Available in Hive 0.13.0 and later)
    | AVRO -- (Note: Available in Hive 0.14.0 and later)
    | INPUTFORMAT input_format_classname OUTPUTFORMAT output_format_classname

    (2)根据建表语句逐层展开:hive的存储形式,引申思考下行式存储、列式存储的 在读取时的优劣

          hive表数据在存储在文件系统上的,因此需要有文件存储格式来规范化数据的存储,一边hive写数据或者读数据。hive有一些已构建好的存储格式,也支持用户自定义文件存储格式。主要由两部分内容构成file_format和row_format,两者息息相关。

    (3)文件格式:TEXTFILE,SEQUENCEFILE,RCFILE  及 自定义输入格式DuallnputFormat

    (4)记录格式:SerDe

    (5)CSV和TSV SerDe

    SerDe is a short name for "Serializer and Deserializer."
    Hive uses SerDe (and FileFormat) to read and write table rows.
    HDFS files --> InputFileFormat --> <key, value> --> Deserializer --> Row object
    Row object --> Serializer --> <key, value> --> OutputFileFormat --> HDFS files

    load数据时 根据表的文件格式及分割方式 直接写入存储,读时校验数据

    hive的读时模式 与 传统关系型数据库写入模式的差异

  • 相关阅读:
    mqtt 服务器与客户端通讯
    MQTT--单片机实现即时通信
    source insight 如何建工程--以及快捷方式查找调用函数方法
    在联网时,两台linux服务器传输文件方法
    字符串截取函数-c语言
    strcpy(),strcat()的用法
    如何将红色区域数据调用解密函数直接打印到输出控制台(例如:crt控制台)
    如何把apdu[decode_len]打印出来
    SecureCRT中文乱码解决已设置UTF-8
    RobotFrameWork(五)控制流之if语句——Run Keyword If
  • 原文地址:https://www.cnblogs.com/guapiwangxi/p/10567654.html
Copyright © 2011-2022 走看看