READ_NOS combined with a CREATE TABLE AS clause accesses data from the object store and creates a permanent table for the data inside the database, without needing to create a foreign table first.
In this example, all the data in the object store identified by the LOCATION is loaded into the database. This allows the columns to be referenced without using DOT notation and allows you to cast the fields to appropriate data types.
The examples and results show a sample river flow data set. To use your own data, replace the table and column names, and authorization object.
- To run NOS-related commands, log on to the database as a user with the required privileges.
-
Create and load the table:
CREATE MULTISET TABLE riverflowperm_json AS ( SELECT CAST(payload.site_no AS CHAR(8)) Site_no, CAST(payload.Flow AS FLOAT) ( FORMAT '-ZZZ9.99') Flow, CAST(payload.GageHeight AS FLOAT) ( FORMAT '-ZZZ9.99') GageHeight1, CAST(payload.Precipitation AS FLOAT) ( FORMAT '-ZZZ9.99') Precipitation, CAST(payload.Temp AS FLOAT) ( FORMAT '-ZZZ9.99') Temperature, CAST(payload.Velocity AS FLOAT) ( FORMAT '-ZZZ9.99') Velocity FROM READ_NOS_FM ( ON (SELECT CAST(NULL AS JSON)) USING LOCATION('YOUR-STORAGE-ACCOUNT') ) AS D ) WITH DATA;
See Variable Substitutions for Examples for the credentials and location values for the sample river flow data set.
-
Find out how many rows are in the table:
SELECT COUNT(*) FROM riverflowperm_json;
Result:
Count(*) ----------- 36301