jose_ribeiro
05/21/2021, 7:37 PM$ meltano elt tap-shopify target-bigquery
meltano | Running extract & load...
meltano | Found catalog in extract/tap-shopify.catalog.json
tap-shopify | INFO Skipping stream: orders
tap-shopify | INFO Skipping stream: collects
tap-shopify | INFO Skipping stream: products
tap-shopify | INFO Skipping stream: transactions
tap-shopify | INFO Skipping stream: abandoned_checkouts
tap-shopify | INFO Skipping stream: metafields
tap-shopify | INFO Skipping stream: custom_collections
tap-shopify | INFO Skipping stream: customers
tap-shopify | INFO Skipping stream: order_refunds
tap-shopify | INFO ----------------------
tap-shopify | INFO ----------------------
target-bigquery | INFO Pushing state: {}
target-bigquery | INFO Pushing state: {}
meltano | Incremental state has been updated at 2021-05-21 19:29:00.293368.
meltano | Incremental state has been updated at 2021-05-21 19:29:00.299481.
meltano | Extract & load complete!
meltano | Transformation skipped.
My .env
has:
TAP_SHOPIFY_SHOP=<shop-name>
TAP_SHOPIFY_START_DATE=2021-05-01T00:00:00Z
TAP_SHOPIFY_API_KEY=<shop-key>
TARGET_BIGQUERY_PROJECT_ID=<bq-project>
TARGET_BIGQUERY_DATASET_ID=<bq-dataset>
TARGET_BIGQUERY_ADD_METADATA_COLUMNS=true
TARGET_BIGQUERY_REPLICATION_METHOD=truncate
TARGET_BIGQUERY_TABLE_PREFIX=meltano_
TARGET_BIGQUERY_PRIMARY_KEY_REQUIRED=true
TAP_SHOPIFY__CATALOG=extract/tap-shopify.catalog.json
My `meltano.yml`:
version: 1
send_anonymous_usage_stats: true
project_id: 2d8cbfe0-514e-4dd0-8711-efbf2148c262
plugins:
extractors:
- name: tap-shopify
variant: singer-io
pip_url: tap-shopify
select:
- orders.*
- transactions.*
- products.*
loaders:
- name: target-bigquery
variant: adswerve
pip_url: git+<https://github.com/adswerve/target-bigquery.git@v0.10.2>
And I got my catalog file by running:
meltano invoke tap-shopify --discover > extract/tap-shopify.catalog.json
dan_ladd
05/21/2021, 7:43 PM[]
.
"metadata": [
{
"breadcrumb": [],
"metadata": {
"table-key-properties": [
"id"
],
"inclusion": "available",
"selected": true
}
You might need to add selected: truejose_ribeiro
05/21/2021, 7:49 PM# meltano.yml
select:
- orders.*
- transactions.*
- products.*
Right?jose_ribeiro
05/21/2021, 7:49 PMCRITICAL 'type' or 'anyOf' are required fields in property: {}
dan_ladd
05/21/2021, 7:49 PMaaronsteers
05/21/2021, 7:50 PMHow can I use this schema from the catalog to solve this?
CRITICAL ‘type’ or ‘anyOf’ are required fields in property: {}@jose_ribeiro - Your experience may vary but I’ve mostly seen this when the tap cannot detect the data types for some reason. Can you tell if any properties in your schema are missing types?
dan_ladd
05/21/2021, 7:51 PMCRITICAL 'type' or 'anyOf' are required fields in property: {}
Seems unique to target-bigquery. Can you search the catalog for {}
and see if you find anything.douwe_maan
05/21/2021, 7:52 PMtype: {}
s, which is not going to be supported by many targets that use that type to know what kind of table column to create in the destination databasejose_ribeiro
05/21/2021, 7:52 PM"subtotal_price_set": {},
"total_discounts_set": {},
"total_line_items_price_set": {},
"total_price_set": {},
"total_shipping_price_set": {},
"total_tax_set": {},
jose_ribeiro
05/21/2021, 7:53 PMdan_ladd
05/21/2021, 7:53 PMtype: ["null", "string"]
, etc. it should workdouwe_maan
05/21/2021, 7:53 PMI seems that I don't need to set theIf you're specifying your own catalog file,select
select
will be ignored. Do you have a particular reason to specify your own catalog instead of using select
, metadata
, and schema
to modify it dynamically? https://meltano.com/docs/integration.html#extractor-catalog-generationjose_ribeiro
05/21/2021, 7:54 PMaaronsteers
05/21/2021, 7:54 PMdouwe_maan
05/21/2021, 7:55 PM.env
has:
TAP_SHOPIFY__CATALOG=extract/tap-shopify.catalog.json
douwe_maan
05/21/2021, 7:55 PMThese rules are not applied when a catalog is provided manually.
douwe_maan
05/21/2021, 7:56 PMdan_ladd
05/21/2021, 7:56 PMjose_ribeiro
05/21/2021, 7:57 PMjose_ribeiro
05/21/2021, 8:14 PMprratek_ramchandani
05/21/2021, 11:08 PM