hive
Сценарий создания таблицы с примерными данными
Поиск…
Типы даты и времени
CREATE TABLE all_datetime_types(
c_date date,
c_timestamp timestamp
);
Минимальные и максимальные значения данных:
insert into all_datetime_types values ('0001-01-01','0001-01-01 00:00:00.000000001');
insert into all_datetime_types values ('9999-12-31','9999-12-31 23:59:59.999999999');
Типы текста
CREATE TABLE all_text_types(
c_char char(255),
c_varchar varchar(65535),
c_string string
);
Пример данных:
insert into all_text_type values ('some ****&&&%%% char value ','some $$$$#####@@@@ varchar value','some !!~~~++ string value' );
Числовые типы
CREATE TABLE all_numeric_types(
c_tinyint tinyint,
c_smallint smallint,
c_int int,
c_bigint bigint,
c_decimal decimal(38,3)
);
Минимальные и максимальные значения данных:
insert into all_numeric_types values (-128,-32768,-2147483648,-9223372036854775808,-99999999999999999999999999999999999.999);
insert into all_numeric_types values (127,32767,2147483647,9223372036854775807,99999999999999999999999999999999999.999);
Числа с плавающей точкой
CREATE TABLE all_floating_numeric_types(
c_float float,
c_double double
);
Минимальные и максимальные значения данных:
insert into all_floating_numeric_types values (-3.4028235E38,-1.7976931348623157E308);
insert into all_floating_numeric_types values (-1.4E-45,-4.9E-324);
insert into all_floating_numeric_types values (1.4E-45,4.9E-324);
insert into all_floating_numeric_types values (3.4028235E38,1.7976931348623157E308);
Логические и двоичные типы
CREATE TABLE all_binary_types(
c_boolean boolean,
c_binary binary
);
Пример данных:
insert into all_binary_types values (0,1234);
insert into all_binary_types values (1,4321);
Замечания:
- Для boolean, внутренне он хранится как true или false.
- Для двоичного файла он будет хранить значение, закодированное base64.
Комплексные типы
ARRAY
CREATE TABLE array_data_type(
c_array array<string>)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY '&';
Создайте data.csv
с данными:
arr1&arr2
arr2&arr4
Поместите data.csv
в data.csv
/tmp
и загрузите эти данные в Hive
LOAD DATA LOCAL INPATH '/tmp/data.csv' INTO TABLE array_data_type;
Или вы можете поместить этот CSV в HDFS в /tmp
. Загружать данные из CSV на HDFS, используя
LOAD DATA INPATH '/tmp/data.csv' INTO TABLE array_data_type;
КАРТА
CREATE TABLE map_data_type(
c_map map<int,string>)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY '&'
MAP KEYS TERMINATED BY '#';
файл data.csv
:
101#map1&102#map2
103#map3&104#map4
Загружать данные в улей:
LOAD DATA LOCAL INPATH '/tmp/data.csv' INTO TABLE map_data_type;
STRUCT
CREATE TABLE struct_data_type(
c_struct struct<c1:smallint,c2:varchar(30)>)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY '&';
файл data.csv
:
101&struct1
102&struct2
Загружать данные в улей:
LOAD DATA LOCAL INPATH '/tmp/data.csv' INTO TABLE struct_data_type;
UNIONTYPE
CREATE TABLE uniontype_data_type(
c_uniontype uniontype<int, double, array<string>)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY '&';
файл data.csv
:
0&10
1&10.23
2&arr1&arr2
Загружать данные в улей:
LOAD DATA LOCAL INPATH '/tmp/data.csv' INTO TABLE uniontype_data_type;
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow