farid_akhavan
03/04/2021, 10:51 PM"
. The query runs okay without those quotes. Has anyone had any similar experience?douwe_maan
03/04/2021, 11:01 PMmeltano
should be uppercase MELTANO
? My hunch is that without quotes, it's treated as case insensitive, and with quotes, the case needs to matchdouwe_maan
03/04/2021, 11:01 PMfarid_akhavan
03/04/2021, 11:13 PM_SMART_SOURCE_BUCKET
is null. Needless to say that I load the csv file using tap-spreadsheets-anywhere
from a local directory so not sure if the source bucket field even should applydouwe_maan
03/04/2021, 11:27 PMtable_spec['path']
is unintentionally not setdouwe_maan
03/04/2021, 11:27 PMpath
you specified in your config for the table in questiondouwe_maan
03/04/2021, 11:28 PMfarid_akhavan
03/05/2021, 12:13 AMmeltano.yml
file if you want but this is the part related to extractor tap:
- name: tap-spreadsheets-anywhere
pip_url: git+<https://github.com/ets/tap-spreadsheets-anywhere.git>
config:
tables:
- path: file:///Users/farid/WorkSpace/meltano-projects/meltano-projects/poc_local_to_postgres/input_directory
name: customer_s3_uploads
pattern: .*\.csv
start_date: '2017-05-01T00:00:00Z'
key_properties: []
format: csv
douwe_maan
03/05/2021, 12:29 AMmeltano elt
in debug mode (https://meltano.com/docs/command-line-interface.html#debugging), is _smart_source_bucket
actually unset in the RECORD
messages (meaning the tap is at fault), or is it there, but getting lost somewhere in target-snowflake?farid_akhavan
03/05/2021, 12:37 AMdouwe_maan
03/05/2021, 12:42 AMrecord
, just like the metadata _schem_a is inserted into the record schema here: https://github.com/ets/tap-spreadsheets-anywhere/blob/c92a153a85551b47e715e9348b02bca79d90bca0/tap_spreadsheets_anywhere/__init__.py#L64.
But, that's not actually what transformer.transform
does with its metadata
argument: https://github.com/singer-io/singer-python/blob/2f618c6194f154be7ba37f288d456f6abd4d78ec/singer/transform.py#L148, which is only used to find out if a specific column should be selected or not: https://github.com/singer-io/singer-python/blob/2f618c6194f154be7ba37f288d456f6abd4d78ec/singer/transform.py#L128douwe_maan
03/05/2021, 12:42 AM_smart_<etc>
fields, but they never actually end up in the RECORD
messagesdouwe_maan
03/05/2021, 12:43 AMdouwe_maan
03/05/2021, 12:43 AMdouwe_maan
03/05/2021, 12:45 AMmetadata
into record
again, and the actual stream-specific metadata that transform.transform
wants to determine which fields to include should be coming from the catalog
here: https://github.com/ets/tap-spreadsheets-anywhere/blob/2df74eb81ce8eee555b7a01de4813c8f48de4e2b/tap_spreadsheets_anywhere/__init__.py#L94 and passed to write_file
here: https://github.com/ets/tap-spreadsheets-anywhere/blob/2df74eb81ce8eee555b7a01de4813c8f48de4e2b/tap_spreadsheets_anywhere/__init__.py#L114farid_akhavan
03/05/2021, 12:45 AMdouwe_maan
03/05/2021, 12:45 AMdouwe_maan
03/05/2021, 12:47 AMtransformed_record = transformer.transform({**record, **metadata}, schema)
douwe_maan
03/05/2021, 12:47 AMtransformer.transform
. It's a start though!douwe_maan
03/05/2021, 5:56 PMtransform
method is working correctly, but it's talking about a different type of metadata. There are metadata columns that the tap outputs (the ones causing the issue), and there's metadata about streams and properties that are fed to the tap using a catalog file, so that you can say "I want this property, but not that one". transform
deals with the latter type, but the tap's currently implementation thinks it means the former, which is the bugdouwe_maan
03/05/2021, 5:57 PMmichael_cooper
03/05/2021, 10:28 PMtransform
does not break for us. We're using this tap in production now and have never had an issue with it yet. Does it have to do with the source by chance? We haven't tried it with local files, but we are using it to ingest GCS csv data just fine.douwe_maan
03/05/2021, 10:31 PM_smart_*
fields being populated in the destination? You may be using a target that doesn't care that the fields were advertised as non-nullable, but are omitted from the RECORD
s anywaydouwe_maan
03/05/2021, 10:32 PMtransformer.transform
uses its metadata
argument formichael_cooper
03/05/2021, 10:35 PMtarget-bigquery
for reference.douwe_maan
03/05/2021, 10:36 PMtarget-bigquery
does not (always?) listen to the tap when it comes to nullabilitymichael_cooper
03/05/2021, 10:37 PMtransform
. I didn't realize that the metadata
argument worked that way.douwe_maan
03/05/2021, 10:37 PM_smart_
fields as non-nullable, but they actually no longer show up in the `RECORD`s. target-bigquery not caring is a happy coincidence for you 🙂douwe_maan
03/05/2021, 10:37 PMmetadata
in a totally different wayfarid_akhavan
03/08/2021, 3:26 AMnick_hamlin
03/08/2021, 4:12 AMpipelinewise-target-redshift
, not target-bigquery
farid_akhavan
03/08/2021, 4:13 AMtap-spreadsheets-anywhere
not target-bigquery
. Any chance you’ve been using that tap to extract from local files?nick_hamlin
03/08/2021, 4:16 AMtap-google-sheets
, but haven’t gotten through setting up my credentials there yetnick_hamlin
03/08/2021, 4:16 AMtap-mysql
and tap-zendesk
so far, both of which had a few quirks to getting set up but seem to be running just fine now that I’ve ironed them outfarid_akhavan
03/08/2021, 4:18 AMdouwe_maan
03/08/2021, 4:16 PM