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

前提条件

您已经在对象存储控制台上传了customer.tbl文件。如何上传请参见上传文件

操作步骤

  1. 登录Data Lake Analytics管理控制台
  2. 单击展开左侧导航栏Serverless Presto > SQL执行
  3. 在右侧运行框输入并执行如下代码,创建OSS Schema,Location为OSS中customer.tbl所在的文件夹路径。
    CREATE SCHEMA dla_oss_db01 with DBPROPERTIES(
      catalog = 'oss',
      location 'oss://dla-oss-adb/dla-test/'
    )
  4. 在创建的OSS Schema中创建customer_txt表,Location为OSS中customer.tbl的路径。
     CREATE EXTERNAL TABLE customer_txt (
         c_custkey int,
         c_name string,
         c_address string,
         c_nationkey int,
         c_phone string,
         c_acctbal double,
         c_mktsegment string,
         c_comment string
     )
      ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' 
          STORED AS TEXTFILE LOCATION 'oss://dla-oss-adb/dla-test/customer.tbl'
  5. 在创建的OSS Schema中创建目标表customer_parquet,Location设置为OSS中您需要的位置。
     CREATE EXTERNAL TABLE customer_parquet (
         c_custkey int,
         c_name string,
         c_address string,
         c_nationkey int,
         c_phone string,
         c_acctbal double,
         c_mktsegment string,
         c_comment string
     )
      ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' 
          STORED AS PARQUET LOCATION 'oss://dla-oss-adb/dla-test/customer/'
    说明
    • STORED AS PARQUET:指定文件的存储格式为Parquet。
    • Location必须是OSS中已经存在的目录,并以/结尾。
  6. 执行INSERT...SELECT语句,将customer_txt表中的数据插入customer_parquet表中。
     INSERT INTO customer_parquet SELECT * FROM customer_txt;
  7. INSERT...SELECT语句执行成功后,在OSS中查看生成的Parquet数据文件。OSS中查看Parquet数据文件