2017-08-03 67 views
5

Tôi đang cố gắng đọc dữ liệu csv từ xô s3 và tạo bảng trong AWS Athena. Bảng của tôi khi được tạo không thể bỏ qua thông tin tiêu đề của tệp CSV của tôi.Cách bỏ qua tiêu đề khi chúng tôi đọc dữ liệu từ tệp csv trong s3 và tạo bảng trong aws athena.

Query Ví dụ:

CREATE EXTERNAL TABLE IF NOT EXISTS table_name ( `event_type_id` 
    string, `customer_id` string, `date` string, `email` string) 
    ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' 
    WITH 
    SERDEPROPERTIES ( "separatorChar" = "|", "quoteChar"  = "\"") 
    LOCATION 's3://location/' 
    TBLPROPERTIES ("skip.header.line.count"="1"); 

skip.header.line.count dường như không làm việc. Nhưng điều này không hiệu quả. Tôi nghĩ rằng Aws có một số vấn đề với this.Is có cách nào khác mà tôi có thể vượt qua điều này?

Trả lời

1

Đây là những gì làm việc trong chuyển đỏ:

Bạn muốn sử dụng table properties ('skip.header.line.count'='1') Cùng với các tài sản khác nếu bạn muốn, ví dụ 'numRows'='100'. Dưới đây là một ví dụ:

create external table exreddb1.test_table 
(ID BIGINT 
,NAME VARCHAR 
) 
row format delimited 
fields terminated by ',' 
stored as textfile 
location 's3://mybucket/myfolder/' 
table properties ('numRows'='100', 'skip.header.line.count'='1'); 
+0

Dưới đây là AWS chuyển đỏ SQL tài liệu về "Tạo Bảng bên ngoài", http://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_TABLE.html – TheWalkingData

1

Đây là sự thiếu hụt đã biết.

Phương pháp tốt nhất mà tôi đã nhìn thấy là tweeted by Eric Hammond:

...WHERE date NOT LIKE '#%' 

này dường như bỏ qua dòng tiêu đề trong một truy vấn. Tôi không chắc nó hoạt động như thế nào, nhưng nó có thể là một phương pháp để bỏ qua NULL.

Các vấn đề liên quan