Sök…


Datum- och tidsstämpeltyper

CREATE TABLE all_datetime_types(
  c_date date, 
  c_timestamp timestamp
);

Minsta och maximala datavärden:

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

Texttyper

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

Stickprov:

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

Numeriska typer

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

Minsta och maximala datavärden:

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

Numeriska typer av flytande punkt

CREATE TABLE all_floating_numeric_types(
  c_float float, 
  c_double double
);

Minsta och maximala datavärden:

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

Booleska och binära typer

CREATE TABLE all_binary_types(
  c_boolean boolean, 
  c_binary binary 
);

Stickprov:

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

Notera:

  • För booleska lagras internt som sant eller falskt.
  • För binär kommer det att lagra bas64-kodat värde.

Komplexa typer

SMYCKA

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

Skapa data.csv med data:

arr1&arr2
arr2&arr4

Lägg data.csv i data.csv /tmp tmp och ladda dessa data i Hive

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

Eller så kan du lägga denna CSV i HDFS säga på /tmp . Ladda data från CSV på HDFS med

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

KARTA

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 fil:

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

Ladda data i bikupan:

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 fil:

101&struct1
102&struct2

Ladda data i bikupan:

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 fil:

0&10
1&10.23
2&arr1&arr2

Ladda data i bikupan:

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



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow