728x90
반응형
HIVE?
대규모 데이터 세트를 SQL과 유사한 쿼리 언어인 HiveQL을 사용하여 처리하고 분석할 수 있도록 설계된 데이터 웨어하우스 인프라
Hadoop 에코시스템의 일부로 사용되며, 분산 파일 시스템인 HDFS(Hadoop Distributed File System)에 저장된 데이터를 쿼리하는 데 적합
SQL 과 유사하므로, 러닝커브가 적고, 외부 (aws S3) 를 외부테이블로 지정 할 수 있어 편리함.
$ CREATE TABLE POKES (foo INT, bar STRING);
또는
s3 설정을 통한 아래와 같은 외부 테이블로 세팅도 가능.
CREATE EXTERNAL TABLE your_table_name (
column1 STRING,
column2 INT,
...
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LOCATION 's3a://your-bucket-name/path/to/data/';
주된 사용 이유?
1. 데이터 파티셔닝.
파티션을 미리 설정한 테이블이라면,
Partitioned tables must always have a partition selected in the WHERE clause of the statement.
2. 버전 관리 및 메타 데이터 관리.
그 중 파티셔닝과 메타 데이터 관리가 중점인듯 싶다.
이후 iceberg와 연계 할 예정이다.
파티션을 걸거나,
CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING);
딜리미터로 나눠져있는 텍스트를 쓰거나,
CREATE TABLE u_data (
userid INT,
movieid INT,
rating INT,
unixtime STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE;
또는
CREATE TABLE apachelog (
host STRING,
identity STRING,
user STRING,
time STRING,
request STRING,
status STRING,
size STRING,
referer STRING,
agent STRING)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
"input.regex" = "([^]*) ([^]*) ([^]*) (-|\\[^\\]*\\]) ([^ \"]*|\"[^\"]*\") (-|[0-9]*) (-|[0-9]*)(?: ([^ \"]*|\".*\") ([^ \"]*|\".*\"))?"
)
STORED AS TEXTFILE;
connector
Create/Drop/Alter Connector
Create Connector
CREATE CONNECTOR [IF NOT EXISTS] connector_name
[TYPE datasource_type]
[URL datasource_url]
[COMMENT connector_comment]
[WITH DCPROPERTIES (property_name=property_value, ...)];
alter - add partitions , 기존에 poc - 파티션 없이 -> 이후 partition 지정 가능 .
Add Partitions
ALTER TABLE table_name ADD [IF NOT EXISTS] PARTITION partition_spec [LOCATION 'location'][, PARTITION partition_spec [LOCATION 'location'], ...];
partition_spec:
: (partition_column = partition_col_value, partition_column = partition_col_value, ...)
You can use ALTER TABLE ADD PARTITION to add partitions to a table.
Partition values should be quoted only if they are strings.
The location must be a directory inside of which data files reside.
(
ADD PARTITION changes the table metadata,
but does not load data.
If the data does not exist in the partitions location,
queries will not return any results.
)
An error is thrown if the partition_spec for the table already exists.
You can use IF NOT EXISTS to skip the error.
320x100
반응형
'DATA' 카테고리의 다른 글
[DATA] Apache iceberg (2) | 2024.11.04 |
---|