royzac
08/27/2021, 7:05 PMedgar_ramirez_mondragon
08/27/2021, 9:42 PMroyzac
08/29/2021, 12:25 AMedgar_ramirez_mondragon
08/30/2021, 3:04 PMroyzac
08/31/2021, 11:07 PMedgar_ramirez_mondragon
08/31/2021, 11:12 PMroyzac
09/01/2021, 12:18 AMroyzac
09/01/2021, 5:18 PMedgar_ramirez_mondragon
09/01/2021, 5:29 PMtarget-athena
in pypi (though the repo seems to suggest there is cc @aaronsteers), you have to set the pip_url
to point to the repo instead git+<https://github.com/dataops-tk/target-athena.git>
aaronsteers
09/01/2021, 6:09 PMroyzac
09/01/2021, 10:45 PMaaronsteers
09/01/2021, 11:18 PM-e
(editable) pip installed for a poetry project. So when building taps with the SDK, we've provided a shell script that automatically executes the tap's executable from the poetry venv in a single (portable) step.aaronsteers
09/01/2021, 11:19 PMroyzac
09/01/2021, 11:21 PMroyzac
09/03/2021, 2:11 AMedgar_ramirez_mondragon
09/03/2021, 2:56 PMmeltano elt tap-shopify target-athena
you usually wouldn't need a config file since Meltano can take settings from meltano.yml
, .env
or environment variables.
To be able to see it in the UI, you'll have to create a schedule
meltano schedule shopify-to-athena tap-shopify target-athena @daily
royzac
09/03/2021, 8:54 PMedgar_ramirez_mondragon
09/04/2021, 12:23 AMtap-shopify
should be settings
, not config
royzac
09/04/2021, 12:57 AMedgar_ramirez_mondragon
09/04/2021, 3:32 AMsettings
definition in tap-athena should be an array of objects:
plugins:
extractors:
- name: tap-shopify
variant: singer-io
pip_url: tap-shopify
config:
shop: royzac
start_date: '2021-06-29'
loaders:
- name: target-athena
namespace: target_athena
pip_url: git+<https://github.com/MeltanoLabs/target-athena.git>
executable: target-athena
settings:
- name: aws_access_key_id
- name: aws_secret_access_key
- name: aws_session_token
- name: aws_profile
- name: s3_bucket
- name: s3_key_prefix
- name: s3_staging_dir
- name: delimiter
- name: quotechar
- name: add_metadata_columns
- name: encryption_type
- name: encryption_key
- name: compression
- name: naming_convention
- name: temp_dir
Meltano will automatically look for environment variables based on those names, exactly the ones you wrote but you don't need to declare the env var names (e.g. TAP_ATHENA_DELIMITER
will also work)royzac
09/10/2021, 5:07 PMroyzac
09/12/2021, 12:18 AMedgar_ramirez_mondragon
09/13/2021, 1:27 PMtap-athena
is still very much experimental and depends on not-yet-released features of the SDK, but if you wanna give a try with Python 3.9 (and assuming you actually can install it) can you try pointing the pip_url
to
git+<https://github.com/edgarrmondragon/tap-athena@support-python3.9>
aaronsteers
09/13/2021, 8:52 PMaaronsteers
09/13/2021, 8:53 PMaaronsteers
09/13/2021, 8:54 PMnicholas_degiacomo
10/12/2021, 2:04 AMaaronsteers
10/12/2021, 4:52 AMaaronsteers
10/12/2021, 4:54 AMaaronsteers
10/12/2021, 4:55 AMnicholas_degiacomo
10/13/2021, 5:37 PM{
"s3_bucket": "my_bucket",
"athena_database": "my_database"
}
I ran meltano add --custom loader target-athena
and followed the prompts in the terminal.
namespace: I accepted default
pip_url: git+https://github.com/dataops-tk/target-athena.git
s3_bucket:string, athena_database:string
then running meltano elt tap-shopify target-athena
gives me the error seen in the photo & copied below:
ELT could not be completed: Cannot start extractor: Catalog discovery failed: command ['/Users/nickdegiacomo/learn-meltano/wed-oct13/meltano-quickstart/my-meltano-project/.meltano/extractors/tap-shopify/venv/bin/tap-shopify', '--config', '/Users/nickdegiacomo/learn-meltano/wed-oct13/meltano-quickstart/my-meltano-project/.meltano/run/elt/2021-10-13T172736--tap-shopify--target-athena/eea3155b-20a7-4b2c-8e9e-9fecf7d266f6/tap.a9c1bfe0-f849-4c5d-b674-16af3a7bcefe.config.json', '--discover'] returned 1
ELT could not be completed: Cannot start extractor: Catalog discovery failed: command ['/Users/nickdegiacomo/learn-meltano/wed-oct13/meltano-quickstart/my-meltano-project/.meltano/extractors/tap-shopify/venv/bin/tap-shopify', '--config', '/Users/nickdegiacomo/learn-meltano/wed-oct13/meltano-quickstart/my-meltano-project/.meltano/run/elt/2021-10-13T172736--tap-shopify--target-athena/eea3155b-20a7-4b2c-8e9e-9fecf7d266f6/tap.a9c1bfe0-f849-4c5d-b674-16af3a7bcefe.config.json', '--discover'] returned 1
If i change the yml to be config rather than settings, I get a different error:
ValueError: argument type <class 'list'> is not in the flattenalbe types (<class 'collections.abc.Mapping'>,)
argument type <class 'list'> is not in the flattenalbe types (<class 'collections.abc.Mapping'>,)
What would be next steps from here? Do I keep playing with the configs, or is this related to the stability of the packages?nicholas_degiacomo
10/13/2021, 8:52 PMmeltano invoke tap-shopify
If i input
meltano config tap-shopify list
or meltano config tap-shopify
it seems it is properly configured… I installed by running meltano add extractor tap-shopify
and with environmental variables assuming my store’s name was nick_test_store, and the api key was nick_api_key
export TAP_SHOPIFY_SHOP=nick_test_store
export TAP_SHOPIFY_START_DATE=2021-10-01T000000Z
export TAP_SHOPIFY_API_KEY=nick_api_keynicholas_degiacomo
10/13/2021, 11:26 PMplugins:
extractors:
- name: tap-shopify
schema:
orders:
subtotal_price_set:
type: ["string", "null"]
total_discounts_set:
type: ["string", "null"]
total_line_items_price_set:
type: ["string", "null"]
total_price_set:
type: ["string", "null"]
total_shipping_price_set:
type: ["string", "null"]
total_tax_set:
type: ["string", "null"]
discounted_price_set:
type: ["string", "null"]
price_set:
nicholas_degiacomo
10/13/2021, 11:26 PM