Compartir tecnología

Resumen de tipos de datos y formatos de almacenamiento en Hive

2024-07-12

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

1.Tipo de datos

Hive admite múltiples tipos de datos, divididos en dos categorías: tipos de datos primitivos y tipos de datos complejos. Los siguientes son los tipos de datos admitidos por Hive:

Tipos de datos primitivos:

1. Tipo entero:

                pequeñoint: Entero con signo de 1 byte
               pequeñoint: Entero con signo de 2 bytes
               En t: Entero con signo de 4 bytes
                Empezando: Entero con signo de 8 bytes
               flotar: Número de coma flotante de precisión simple de 4 bytes
               doble: Número de coma flotante de doble precisión de 8 bytes
                decimal: Se pueden especificar el tipo de número, la precisión y la escala de alta precisión, como decimal(10,2)

Byte: Una de las unidades de almacenamiento más básicas en las computadoras, 1 byte ocupa 8 bits, rango de datos: rango negativo: -128 a -1, rango positivo: 0 a 127

2. Tipo de cadena:

                cadena: cadena de longitud variable
               varchar: Una cadena de longitud variable con un límite de longitud máxima, como varchar(255)
               carbonizarse: Cadena de longitud fija, como char(10)

3.Tipo de fecha/hora:

                marca de tiempo: Marca de tiempo que contiene fecha y hora, con precisión de nanosegundos
               fecha: Contiene solo la parte de fecha, no la parte de hora
                intervalo: Intervalo de tiempo, utilizado para representar la diferencia entre dos fechas u horas.

4.Tipo booleano:

                booleano: Valor booleano, el valor es verdadero o falso

5. Tipo binario:

                binario: matriz de bytes de longitud arbitraria

Tipos de datos complejos:
1.tipo de matriz

        formación<T> : Una lista ordenada que contiene varios elementos del mismo tipo, como una matriz.<int>

2. Tipo de mapeo

    mapa<K, V> : Una colección desordenada de pares clave-valor, donde la clave y el valor pueden ser cualquier tipo de datos, como mapa<string, int>


    3. Tipo de estructura

         estructura<col1: type1, col2: type2, ...> : Registros que contienen varios campos; cada campo puede ser de un tipo de datos diferente, p.estructura<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 almacenamiento de archivos de Hive

Los formatos de almacenamiento de Hive se dividen en dos categorías:

Un tipo de archivo de texto sin formato: archivo de texto, que no está comprimido y también es el formato de almacenamiento predeterminado de Hive.

Una categoría es el almacenamiento de archivos binarios:

archivo de secuencia: se comprimirá y los datos no se podrán cargar utilizando el método de carga.

orcfile: se comprimirá y los datos no se podrán cargar utilizando el método de carga.

parquet: se comprimirá y los datos no se podrán cargar utilizando el método de carga.

rcfile: puede comprimir y no cargar datos utilizando el método de carga. Es una configuración baja de orcfile.

Los formatos de almacenamiento de archivos de texto y archivos de secuencia se basan en el almacenamiento de filas; orc y parquet se basan en el almacenamiento de columnas, y rcfile es un almacenamiento mixto de filas y columnas.

Al crear una tabla, puede utilizar almacenado como parquet para especificar el formato de almacenamiento de la tabla, por ejemplo:

  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 el formato de almacenamiento predeterminado de 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