Creating an OBS Foreign Table
Procedure
- Based on the path planned in Planning Data Export, determine the value of the location parameter used for creating a foreign table.
- Obtain the access keys (AK and SK) to access OBS.
To obtain the keys, log in to the DWS console, click the username in the upper right corner, choose My Credentials, and click Access Keys in the left navigation tree. On the displayed page, view the existing Access Key ID (AK). To obtain both the AK and SK, click Create Access Key to create and download an access key.
- Examine the formats of data to be exported and determine the values of data format parameters used for creating a foreign table. For details, see data format parameters.
- Create an OBS table based on the parameter settings in the preceding steps.
Example 1
For example, in the DWS database, create a write-only foreign table with the format parameter as text to export text files. Set parameters as follows:
- location
The OBS path of the source data file has been obtained in step 2 in Planning Data Export.
For example, set location as follows:
location 'obs://mybucket/output_data/',
- Access keys (AK and SK)
- Set access_key to the AK you have obtained.
- Set secret_access_key to the SK you have obtained.
access_key and secret_access_key have been obtained during user creation. Replace the italic part with the actual keys.
- Data format parameters
- Set format to TEXT.
- Set encoding to UTF-8.
- Configure encrypt. Its default value is off.
- Set delimiter to |.
Based on the preceding settings, the foreign table is created using the following statements:

// Hard-coded or plaintext AK and SK are risky. For security purposes, encrypt your AK and SK and store them in the configuration file or environment variables.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
DROP FOREIGN TABLE IF EXISTS product_info_output_ext1; CREATE FOREIGN TABLE product_info_output_ext1 ( c_bigint bigint, c_char char(30), c_varchar varchar(30), c_nvarchar2 nvarchar2(30) , c_data date, c_time time , c_test varchar(30)) server gsmpp_server options ( LOCATION 'obs://mybucket/output_data/', ACCESS_KEY 'access_key_value_to_be_replaced', SECRET_ACCESS_KEY 'secret_access_key_value_to_be_replaced' format 'text', delimiter '|', encoding 'utf-8', encrypt 'on' ) WRITE ONLY; |
If the following information is displayed, the foreign table has been created:
CREATE FOREIGN TABLE
Example 2:
For example, in the DWS database, create a write-only foreign table with the format parameter as CSV to export CSV files. Set parameters as follows:
- location
The OBS path of the source data file has been obtained in step 2 in Planning Data Export.
For example, set location as follows:
1
location 'obs://mybucket/output_data/',
- Access keys (AK and SK)
- Set access_key to the AK you have obtained.
- Set secret_access_key to the SK you have obtained.
access_key and secret_access_key have been obtained during user creation. Replace the italic part with the actual keys.
- Data format parameters
- Set format to CSV.
- Set encoding to UTF-8.
- Configure encrypt. Its default value is off.
- Set delimiter to ,.
- Set header (whether the exported data file contains the header row).
Specifies whether a file contains a header with the names of each column in the file.
When exporting data from OBS, this parameter cannot be set to true. Use the default value false, indicating that the first row of the exported data file is not the header.
Based on the preceding settings, the foreign table is created using the following statements:

// Hard-coded or plaintext AK and SK are risky. For security purposes, encrypt your AK and SK and store them in the configuration file or environment variables.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
DROP FOREIGN TABLE IF EXISTS product_info_output_ext2; CREATE FOREIGN TABLE product_info_output_ext2 ( product_price integer not null, product_id char(30) not null, product_time date , product_level char(10) , product_name varchar(200) , product_type1 varchar(20) , product_type2 char(10) , product_monthly_sales_cnt integer , product_comment_time date , product_comment_num integer , product_comment_content varchar(200) ) SERVER gsmpp_server OPTIONS( location 'obs://mybucket/output_data/', FORMAT 'CSV' , DELIMITER ',', encoding 'utf8', header 'false', ACCESS_KEY 'access_key_value_to_be_replaced', SECRET_ACCESS_KEY 'secret_access_key_value_to_be_replaced' ) WRITE ONLY ; |
If the following information is displayed, the foreign table has been created:
1
|
CREATE FOREIGN TABLE |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.