All Products
Search
Document Center

MaxCompute:SEQUENCEFILE external tables

Last Updated:Jan 01, 2026

This topic describes how to create, read from, and write to OSS external tables in SEQUENCEFILE format.

Applicability

  • The cluster property is not supported for OSS external tables.

  • A single file cannot exceed 3 GB. If a file is larger than 3 GB, you must split it.

  • MaxCompute and OSS must be deployed in the same region.

Supported data types

For more information about MaxCompute data types, see Data types (Version 1.0) and Data types (Version 2.0).

Data type

Support

Data type

Support

TINYINT

已开通

STRING

已开通

SMALLINT

已开通

DATE

已开通

INT

已开通

DATETIME

已开通

BIGINT

已开通

TIMESTAMP

已开通

BINARY

已开通

TIMESTAMP_NTZ

已开通

FLOAT

已开通

BOOLEAN

已开通

DOUBLE

已开通

ARRAY

已开通

DECIMAL(precision,scale)

已开通

MAP

已开通

VARCHAR(n)

已开通

STRUCT

已开通

CHAR(n)

已开通

JSON

未开通

Create an external table

Syntax

CREATE EXTERNAL TABLE [IF NOT EXISTS] <mc_oss_extable_name>
(
  <col_name> <data_type>,
  ...
)
[COMMENT <table_comment>]
[PARTITIONED BY (<col_name> <data_type>)]
STORED AS sequencefile
LOCATION '<oss_location>';

Parameters

For more information, see Basic syntax parameters.

Write data

For more information about the syntax for writing data from MaxCompute to OSS, see Write data to OSS.

Query and analyze data

Examples

This example shows how to use the built-in open-source data parser to create a SEQUENCEFILE external table, write data to OSS, and query the data.

  1. Prepare the data.

    Log on to the OSS console and upload the test RCFILE format data file to the specified directory oss-mc-test/Demo_rcfile+pt/dt=20250521/ in your OSS bucket. For more information, see Upload files to OSS.

  2. Upload test data

    Log on to the OSS console and upload the test data file 20250611TableSink to the external-table-test/sequence/dt=20250521/ folder in your OSS bucket. For more information, see Upload files to OSS.

  3. Create a SEQUENCEFILE table

    CREATE EXTERNAL TABLE  mc_oss_extable_name_sequencefile1_pt 
    (
      vehicleId STRING ,
      recordId STRING,
      patientId STRING,
      calls STRING,
      locationLatitute STRING,
      locationLongtitue STRING,
      recordTime string,
      direction string
    )
    PARTITIONED BY (dt STRING) 
    STORED AS sequencefile 
    LOCATION 'oss://oss-cn-hangzhou-internal.aliyuncs.com/external-table-test/sequence/';
  4. Import partition data. If the created OSS external table is a partitioned table, you must run an additional command to import partition data. For more information, see Syntax for adding partition data to an OSS external table.

    -- Import partition data.
    MSCK REPAIR TABLE mc_oss_extable_name_sequencefile1_pt ADD PARTITIONS;
  5. Read data from the SEQUENCEFILE table.

    SELECT * FROM mc_oss_extable_name_sequencefile1_pt WHERE dt=20250521;

    The following result is returned:

    +------------+------------+------------+------------+------------------+-------------------+------------+------------+------------+
    | vehicleid  | recordid   | patientid  | calls      | locationlatitute | locationlongtitue | recordtime | direction  | dt         |
    +------------+------------+------------+------------+------------------+-------------------+------------+------------+------------+
    | 1          | 12         | 76         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:10 | SW         | 20250521   |
    | 1          | 1          | 51         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | S          | 20250521   |
    | 1          | 2          | 13         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:01 | NE         | 20250521   |
    | 1          | 3          | 48         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:02 | NE         | 20250521   |
    | 1          | 4          | 30         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:03 | W          | 20250521   |
    | 1          | 5          | 47         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:04 | S          | 20250521   |
    | 1          | 6          | 9          | 1          | 46.81006         | -92.08174         | 9/14/2014 0:05 | S          | 20250521   |
    | 1          | 7          | 53         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:06 | N          | 20250521   |
    | 1          | 8          | 63         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:07 | SW         | 20250521   |
    | 1          | 9          | 4          | 1          | 46.81006         | -92.08174         | 9/14/2014 0:08 | NE         | 20250521   |
    | 1          | 10         | 31         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:09 | N          | 20250521   |
    +------------+------------+------------+------------+------------------+-------------------+------------+------------+------------+
  6. Write data to the SEQUENCEFILE table.

    INSERT INTO mc_oss_extable_name_sequencefile1_pt PARTITION (dt='20250521') 
    VALUES 
    ('1','16','76','1','46.81006','-92.08174','9/14/2014 0:10','SW');
  7. View the written data.

    SELECT * FROM mc_oss_extable_name_sequencefile1_pt WHERE dt=20250521 AND recordId='16';

    The following result is returned:

    +------------+------------+------------+------------+------------------+-------------------+------------+------------+------------+
    | vehicleid  | recordid   | patientid  | calls      | locationlatitute | locationlongtitue | recordtime | direction  | dt         |
    +------------+------------+------------+------------+------------------+-------------------+------------+------------+------------+
    | 1          | 16         | 76         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:10 | SW         | 20250521   |
    +------------+------------+------------+------------+------------------+-------------------+------------+------------+------------+