本文以nation.tbl为例,详细为您介绍如何将普通文本文件转换成RCFile格式的文件。
操作步骤
- 创建OSS Schema。
CREATE SCHEMA dla_oss_db with DBPROPERTIES( catalog='oss', location 'oss://bucket-name/' )
- 在DLA中创建nation_txt表,
LOCATION
为OSS中nation.tbl的路径。 CREATE EXTERNAL TABLE nation_txt( n_nationkey int, n_name string, n_id string, n_regionkey int, n_comment string ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE LOCATION 'oss://bucket-name/nation/nation.tbl'
- 在DLA中创建目标表nation_RCFile,
LOCATION
设置为OSS中的您需要的位置。 CREATE EXTERNAL TABLE nation_RCFile( n_nationkey int, n_name string, n_id string, n_regionkey int, n_comment string ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS RCFile LOCATION 'oss://bucket-name/nation_RCFile/'
说明STORED AS RCFile
:指定文件的存储格式为RCFile。LOCATION
必须是OSS中已经存在的目录,并以/
结尾。
- 执行
INSERT...SELECT
语句,将nation_txt表中的数据插入nation_RCFile表中。INSERT INTO nation_RCFile SELECT * FROM nation_txt;
INSERT...SELECT
语句执行成功后,在OSS中查看生成的RCFile数据文件。