Обмен технологиями

Сводка типов данных и форматов хранения в Hive

2024-07-12

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

1. Тип данных

Hive поддерживает несколько типов данных, разделенных на две категории: примитивные типы данных и сложные типы данных. Ниже приведены типы данных, поддерживаемые Hive:

Примитивные типы данных:

1. Целочисленный тип:

                крошечный_инт: 1-байтовое целое число со знаком
               маленький: 2-байтовое целое число со знаком
               инт: 4-байтовое целое число со знаком
                bigint: 8-байтовое целое число со знаком
               плавать: 4-байтовое число одинарной точности с плавающей запятой
               двойной: 8-байтовое число двойной точности с плавающей запятой
                десятичная дробь: Можно указать тип числа высокой точности, точность и масштаб, например десятичное (10,2).

Байт: одна из самых основных единиц хранения данных в компьютерах, 1 байт занимает 8 бит, диапазон данных: отрицательный диапазон: от -128 до -1, положительный диапазон: от 0 до 127.

2. Тип строки:

                нить: строка переменной длины
               varchar: Строка переменной длины с ограничением максимальной длины, например varchar(255).
               символ: Строка фиксированной длины, например char(10)

3.Тип даты/времени:

                временная метка: Временная метка, содержащая дату и время с точностью до наносекунд.
               дата: Содержит только часть даты, а не часть времени
                интервал: Интервал времени, используемый для обозначения разницы между двумя датами или временем.

4. Логический тип:

                булев: логическое значение, значение true или false

5. Бинарный тип:

                двоичный: массив байтов произвольной длины

Сложные типы данных:
1. Тип массива

        множество<T> : Упорядоченный список, содержащий несколько элементов одного типа, например массив.<int>

2. Тип сопоставления

    карта<K, V> : Неупорядоченная коллекция пар ключ-значение, где ключ и значение могут быть любым типом данных, например картой.<string, int>


    3. Тип конструкции

         структура<col1: type1, col2: type2, ...> : Записи, содержащие несколько полей, каждое поле может иметь разный тип данных, например.структура<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. Формат хранения файлов Hive.

Форматы хранения hive делятся на две категории:

Тип обычного текстового файла: текстовый файл, который не сжимается и также является форматом хранения по умолчанию для куста.

Одна категория — хранилище двоичных файлов:

файл последовательности: будет сжат, и данные невозможно загрузить с помощью метода загрузки.

orcfile: будет сжат, и данные невозможно загрузить с помощью метода загрузки.

паркет: будет сжат, и данные невозможно загрузить с помощью метода загрузки.

rcfile: он может сжимать и не может загружать данные с помощью метода загрузки. Это низкая конфигурация orcfile.

Форматы хранения текстового файла и файла последовательности основаны на хранении строк; orc и parquet основаны на хранении столбцов, а rcfile представляет собой смешанное хранилище строк и столбцов.

При создании таблицы вы можете использовать «stored as parquet», чтобы указать формат хранения таблицы, например:

  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;

Измените формат хранения куста по умолчанию:

  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