Поиск…


Типы даты и времени

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