Recherche…


Types de date et d'horodatage

CREATE TABLE all_datetime_types(
  c_date date, 
  c_timestamp timestamp
);

Valeurs minimales et maximales des données:

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');

Types de texte

CREATE TABLE all_text_types(
  c_char char(255), 
  c_varchar varchar(65535), 
  c_string string 
);

Données d'échantillon:

insert into all_text_type values ('some ****&&&%%% char value ','some $$$$#####@@@@ varchar value','some !!~~~++ string value' );

Types numériques

CREATE TABLE all_numeric_types(
  c_tinyint tinyint, 
  c_smallint smallint, 
  c_int int, 
  c_bigint bigint, 
  c_decimal decimal(38,3)
);

Valeurs minimales et maximales des données:

insert into all_numeric_types values (-128,-32768,-2147483648,-9223372036854775808,-99999999999999999999999999999999999.999);
insert into all_numeric_types values (127,32767,2147483647,9223372036854775807,99999999999999999999999999999999999.999);

Types numériques à virgule flottante

CREATE TABLE all_floating_numeric_types(
  c_float float, 
  c_double double
);

Valeurs minimales et maximales des données:

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);

Types booléens et binaires

CREATE TABLE all_binary_types(
  c_boolean boolean, 
  c_binary binary 
);

Données d'échantillon:

insert into all_binary_types values (0,1234);
insert into all_binary_types values (1,4321);

Remarque:

  • Pour booléen, en interne, il est enregistré comme vrai ou faux.
  • Pour le binaire, il stockera la valeur codée en base64.

Types complexes

Tableau

CREATE TABLE array_data_type(
  c_array array<string>)
 ROW FORMAT DELIMITED 
  FIELDS TERMINATED BY ',' 
  COLLECTION ITEMS TERMINATED BY '&';

Créer data.csv avec des données:

arr1&arr2
arr2&arr4

Placez data.csv dans /tmp folder et chargez ces données dans Hive

LOAD DATA LOCAL INPATH '/tmp/data.csv' INTO TABLE array_data_type;

Ou vous pouvez mettre ce fichier CSV en HDFS par exemple à /tmp . Charger des données à partir de CSV à HDFS en utilisant

LOAD DATA INPATH '/tmp/data.csv' INTO TABLE array_data_type;

CARTE

CREATE TABLE map_data_type(
  c_map map<int,string>)
 ROW FORMAT DELIMITED 
  FIELDS TERMINATED BY ',' 
  COLLECTION ITEMS TERMINATED BY '&'
  MAP KEYS TERMINATED BY '#';

fichier data.csv :

101#map1&102#map2
103#map3&104#map4

Charger les données dans la ruche:

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 '&';

fichier data.csv :

101&struct1
102&struct2

Charger les données dans la ruche:

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 '&';

fichier data.csv :

0&10
1&10.23
2&arr1&arr2

Charger les données dans la ruche:

LOAD DATA LOCAL INPATH '/tmp/data.csv' INTO TABLE uniontype_data_type;



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow