|
I tested out the columnstore_info.load_from_s3 stored procedure in 2 different environments:
- ColumnStore service in SkySQL
- Local ColumnStore Docker container
In both environments, the stored procedure fails with an odd error that suggests the table name is being formed incorrectly:
{"error": "Unable to set default JobID; Error getting OID for table \".db1: MCS-2006: '\".db1' does not exist in Columnstore.\ncpimport.bin[3369]: 43.740453 |0|0|0| E 34 CAL0087: BulkLoad Error: Unable to set default JobID; Error getting OID for table \".db1: MCS-2006: '\".db1' does not exist in Columnstore.\n"}
|
Steps to reproduce
1. Create an S3 bucket
2. Upload the following file to it:
3. Create an IAM user to access the bucket and obtain their access key and secret key.
4. Deploy ColumnStore.
5. Connect to the ColumnStore node.
6. Create some objects:
CREATE DATABASE db1;
|
|
CREATE TABLE db1.tab1 (
|
id INT,
|
color varchar(50),
|
quantity INT
|
) ENGINE=ColumnStore;
|
7. Set the S3 details in your session:
SET columnstore_s3_key='S3_KEY';
|
SET columnstore_s3_secret='S3_SECRET';
|
SET columnstore_s3_region='S3_REGION';
|
8. Call the stored procedure:
CALL columnstore_info.load_from_s3('s3://gmontee-columnstore-data-load',
|
'junk_data.csv',
|
'db1',
|
'tab1',
|
'\n',
|
'"',
|
'\\');
|
9. Check the table contents:
Actual results
It seems to be constructing the table name incorrectly, so an error is being raised:
MariaDB [(none)]> CALL columnstore_info.load_from_s3('s3://gmontee-columnstore-data-load',
|
-> 'junk_data.csv',
|
-> 'db1',
|
-> 'tab1',
|
-> '\n',
|
-> '"',
|
-> '\\');
|
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
| columnstore_dataload(bucket, filename, dbname, table_name, terminated_by, enclosed_by, escaped_by) |
|
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
| {"error": "Unable to set default JobID; Error getting OID for table \".db1: MCS-2006: '\".db1' does not exist in Columnstore.\ncpimport.bin[3741]: 26.207180 |0|0|0| E 34 CAL0087: BulkLoad Error: Unable to set default JobID; Error getting OID for table \".db1: MCS-2006: '\".db1' does not exist in Columnstore.\n"} |
|
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
1 row in set (1.222 sec)
|
|
Query OK, 0 rows affected (1.222 sec)
|
|
MariaDB [(none)]> SELECT * FROM db1.tab1;
|
Empty set (0.067 sec)
|
Expected results
The table name is "db1.tab1" not "\".db1".
|