本文以nation.tbl为例,详细为您介绍如何将普通文本文件转换成RCFile格式的文件。

操作步骤

  1. 创建OSS Schema。
    ​ CREATE SCHEMA dla_oss_db with DBPROPERTIES(
      catalog='oss',
      location 'oss://bucket-name/'
      )​
  2. 在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'​
  3. 在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中已经存在的目录,并以/结尾。
  4. 执行INSERT...SELECT语句,将nation_txt表中的数据插入nation_RCFile表中。
     INSERT INTO nation_RCFile SELECT * FROM nation_txt;
  5. INSERT...SELECT语句执行成功后,在OSS中查看生成的RCFile数据文件。