Have gone through various answers and understand to create the table. but my issue is different.
We run same code for our 3 different business markets (or here we can say different schema).
For other 2 markets same ETL and storage loader works just fine without any error, inspite not having table com_snowplowanalytics_mobile_application_1.
But for just one of the market/schema it’s throwing error
ERROR: Cannot COPY into nonexistent table com_snowplowanalytics_mobile_application_1
And resulting in storage load failure.
Not sure how and where to look for it. Didn’t even understand the problem correctly as it’s the same code/sql/etl/storage loader runs for all 3 schema.just that schema is different, everything is same.
interesting is I created com_snowplowanalytics_mobile_application_1 table in the schema where it’s failing. (note that, this table still not in there other two schema and they just working fine)
but now getting error for com_snowplowanalytics_mobile_application_install_1
@pramod.niralakeri , it depends on what version of the RDB Loader you run and how you configured it. There are some legacy tables that will not be auto-created and you need to have them added to the blocklist and created the tables manually. The tables DDLs could be found in Iglu Central here: iglu-central/sql at master · snowplow/iglu-central · GitHub.
When creating tables manually ensure to have the ownership of it by the very same user as the one that loads into the table (username as in the target configuration file). Otherwise RDB Loader might not see the table exist or won’t be able to access it.
These schemas are all from the mobile tracker sdks. Have you perhaps sent events into this pipeline from mobile applications that you haven’t sent to other pipelines thus needing these tables to exist? As @ihor states, newer releases of RDB loader would automigrate these tables too, so you wouldn’t see this error.