le mie informazioni di contatto
Posta[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Hive supporta più tipi di dati, divisi in due categorie: tipi di dati primitivi e tipi di dati complessi. Di seguito sono riportati i tipi di dati supportati da Hive:
1. Tipo intero:
minuscolo: Intero con segno a 1 byte
piccoloint: Intero con segno a 2 byte
interno: Intero con segno a 4 byte
grandezza: Intero con segno a 8 byte
galleggiante: Numero in virgola mobile a precisione singola da 4 byte
Doppio: Numero in virgola mobile a doppia precisione da 8 byte
decimale: È possibile specificare tipo di numero, precisione e scala ad alta precisione, ad esempio decimal(10,2)
Byte: una delle unità di memorizzazione più basilari nei computer, 1 byte occupa 8 bit, intervallo dati: intervallo negativo: da -128 a -1, intervallo positivo: da 0 a 127
2. Tipo di stringa:
corda: stringa di lunghezza variabile
variabile: Una stringa di lunghezza variabile con un limite di lunghezza massima, come varchar(255)
carattere: Stringa di lunghezza fissa, come char(10)
3.Tipo data/ora:
marca temporale: Timestamp contenente data e ora, preciso al nanosecondo
data: Contiene solo la parte della data, non quella dell'ora
intervallo: Intervallo di tempo, utilizzato per rappresentare la differenza tra due date o ore
4.Tipo booleano:
booleano: valore booleano, il valore è vero o falso
5. Tipo binario:
binario: array di byte di lunghezza arbitraria
vettore<T> : Un elenco ordinato contenente più elementi dello stesso tipo, ad esempio array<int>
carta geografica<K, V> : Una raccolta non ordinata di coppie chiave-valore, in cui la chiave e il valore possono essere qualsiasi tipo di dati, ad esempio mappa<string, int>
struttura<col1: type1, col2: type2, ...> : Record contenenti più campi, ciascun campo può essere di un tipo di dati diverso, ad es.struttura<name: string, age: int>
- CREATE TABLE example_table (
- tinyint_col tinyint,
- smallint_col smallint,
- int_col int,
- bigint_col bigint,
- float_col float,
- double_col double,
- decimal_col decimal(10, 2),
- string_col string,
- varchar_col varchar(255),
- char_col char(10),
- timestamp_col timestamp,
- date_col date,
- boolean_col boolean,
- binary_col binary,
- array_col array<int>,
- map_col map<string, int>,
- struct_col struct<name: string, age: int>,
- union_col uniontype<int, string>
- );
I formati di archiviazione di hive sono divisi in due categorie:
Un tipo di file di testo semplice: textfile, che non è compresso ed è anche il formato di archiviazione predefinito di hive.
Una categoria è l'archiviazione di file binari:
filesequenza: verrà compresso e i dati non potranno essere caricati utilizzando il metodo load.
orcfile: verrà compresso e i dati non potranno essere caricati utilizzando il metodo load.
parquet: verrà compresso e i dati non potranno essere caricati utilizzando il metodo load.
rcfile: può comprimere e non può caricare dati utilizzando il metodo load. È una configurazione bassa di orcfile.
I formati di archiviazione di textfile e sequencefile si basano sull'archiviazione di righe; orc e parquet si basano sull'archiviazione di colonne e rcfile è un'archiviazione mista di righe e colonne.
Quando si crea una tabella, è possibile utilizzare memorizzato come parquet per specificare il formato di archiviazione della tabella, ad esempio:
- create table if not exists stocks_parquet (
- track_time string,
- url string,
- session_id string,
- referer string,
- ip string,
- end_user_id string,
- city_id string
- )
- stored as parquet;
Modifica il formato di archiviazione predefinito di hive:
- <property>
- <name>hive.default.fileformat</name>
- <value>TextFile</value>
- <description>
- Expects one of [textfile, sequencefile, rcfile, orc].
- Default file format for CREATE TABLE statement. Users can explicitly override it by CREATE TABLE ... STORED AS [FORMAT]
- </description>
- </property>
- 也可以使用set方式修改:
- set hive.default.fileformat=TextFile