Compartilhamento de tecnologia

Resumo dos tipos de dados e formatos de armazenamento no Hive

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1.Tipo de dados

O Hive oferece suporte a vários tipos de dados, divididos em duas categorias: tipos de dados primitivos e tipos de dados complexos. A seguir estão os tipos de dados suportados pelo Hive:

Tipos de dados primitivos:

1. Tipo inteiro:

                minúsculo: Inteiro assinado de 1 byte
               pequenoint: Inteiro assinado de 2 bytes
               inteiro: Inteiro assinado de 4 bytes
                grandeint: Inteiro assinado de 8 bytes
               flutuador: Número de ponto flutuante de precisão simples de 4 bytes
               dobro: Número de ponto flutuante de precisão dupla de 8 bytes
                decimal: Tipo de número de alta precisão, precisão e escala podem ser especificados, como decimal(10,2)

Byte: Uma das unidades de armazenamento mais básicas em computadores, 1 byte ocupa 8 bits, faixa de dados: faixa negativa: -128 a -1, faixa positiva: 0 a 127

2. Tipo de string:

                corda: string de comprimento variável
               varchar: Uma string de comprimento variável com um limite máximo de comprimento, como varchar(255)
               Caracteres: String de comprimento fixo, como char(10)

3.Tipo de data/hora:

                carimbo de data/hora: Carimbo de data e hora contendo data e hora, com precisão de nanossegundos
               data: Contém apenas a parte da data, não a parte da hora
                intervalo: Intervalo de tempo, usado para representar a diferença entre duas datas ou horas

4. Tipo booleano:

                boleano: Valor booleano, o valor é verdadeiro ou falso

5. Tipo binário:

                binário: matriz de bytes de comprimento arbitrário

Tipos de dados complexos:
1. Tipo de matriz

        variedade<T> : Uma lista ordenada contendo vários elementos do mesmo tipo, como array<int>

2. Tipo de mapeamento

    mapa<K, V> : Uma coleção não ordenada de pares chave-valor, onde a chave e o valor podem ser qualquer tipo de dados, como mapa<string, int>


    3. Tipo de estrutura

         estrutura<col1: type1, col2: type2, ...> : Registros contendo vários campos, cada campo pode ser de um tipo de dados diferente, por exemplo.estrutura<name: string, age: int>

  1. CREATE TABLE example_table (
  2. tinyint_col tinyint,
  3. smallint_col smallint,
  4. int_col int,
  5. bigint_col bigint,
  6. float_col float,
  7. double_col double,
  8. decimal_col decimal(10, 2),
  9. string_col string,
  10. varchar_col varchar(255),
  11. char_col char(10),
  12. timestamp_col timestamp,
  13. date_col date,
  14. boolean_col boolean,
  15. binary_col binary,
  16. array_col array<int>,
  17. map_col map<string, int>,
  18. struct_col struct<name: string, age: int>,
  19. union_col uniontype<int, string>
  20. );

2. Formato de armazenamento de arquivos Hive

Os formatos de armazenamento do hive são divididos em duas categorias:

Um tipo de arquivo de texto simples: textfile, que não é compactado e também é o formato de armazenamento padrão do hive.

Uma categoria é o armazenamento de arquivos binários:

sequenciafile: será compactado e os dados não poderão ser carregados usando o método load.

orcfile: será compactado e os dados não poderão ser carregados usando o método load.

parquet: será compactado e os dados não poderão ser carregados usando o método load.

rcfile: Ele pode compactar e não pode carregar dados usando o método de carregamento. É uma configuração baixa do orcfile.

Os formatos de armazenamento de arquivo de texto e arquivo de sequência são baseados no armazenamento de linhas; orc e parquet são baseados no armazenamento de colunas, e rcfile é um armazenamento misto de linhas e colunas.

Ao criar uma tabela, você pode usar armazenado como parquet para especificar o formato de armazenamento da tabela, por exemplo:

  1. create table if not exists stocks_parquet (
  2. track_time string,
  3. url string,
  4. session_id string,
  5. referer string,
  6. ip string,
  7. end_user_id string,
  8. city_id string
  9. )
  10. stored as parquet;

Modifique o formato de armazenamento padrão do hive:

  1. <property>
  2. <name>hive.default.fileformat</name>
  3. <value>TextFile</value>
  4. <description>
  5. Expects one of [textfile, sequencefile, rcfile, orc].
  6. Default file format for CREATE TABLE statement. Users can explicitly override it by CREATE TABLE ... STORED AS [FORMAT]
  7. </description>
  8. </property>
  9. 也可以使用set方式修改:
  10. set hive.default.fileformat=TextFile