-
Notifications
You must be signed in to change notification settings - Fork 119
Open
Description
First thing first: thank you for this target guys!
Been struggling with this one for a bit, hoping someone could help:
Traceback (most recent call last):
File "/root/.virtualenvs/target-bigquery/lib/python3.7/site-packages/target_bigquery-1.4.0-py3.7.egg/target_bigquery.py", line 243, in persist_lines_stream
File "/root/.virtualenvs/target-bigquery/lib/python3.7/site-packages/google_cloud_bigquery-1.14.0-py3.7.egg/google/cloud/bigquery/client.py", line 408, in create_table
api_response = self._call_api(retry, method="POST", path=path, data=data)
File "/root/.virtualenvs/target-bigquery/lib/python3.7/site-packages/google_cloud_bigquery-1.14.0-py3.7.egg/google/cloud/bigquery/client.py", line 419, in _call_api
return call()
File "/root/.virtualenvs/target-bigquery/lib/python3.7/site-packages/google_api_core-1.11.1-py3.7.egg/google/api_core/retry.py", line 273, in retry_wrapped_func
on_error=on_error,
File "/root/.virtualenvs/target-bigquery/lib/python3.7/site-packages/google_api_core-1.11.1-py3.7.egg/google/api_core/retry.py", line 182, in retry_target
return target()
File "/root/.virtualenvs/target-bigquery/lib/python3.7/site-packages/google_cloud_core-1.0.2-py3.7.egg/google/cloud/_http.py", line 396, in api_request
raise exceptions.from_http_response(response)
google.api_core.exceptions.BadRequest: 400 POST https://www.googleapis.com/bigquery/v2/projects/redactedproject/datasets/redacteddataset/tables: Invalid value for type: NULL is not a valid value
The dataset is created just fine 👌 if it doesn't exist, but code always fails while trying to create the table. I've voluntarily added the BadRequest exception to intercept the table name with:
except exceptions.Conflict:
pass
except exceptions.BadRequest:
raise Exception("BadRequest, msg is {}".format(msg))And here it is:
Exception: BadRequest, msg is {'type': 'SCHEMA', 'stream': 'reviews', 'schema': {'type': ['object'], 'properties': {'id': {'type': 'integer'}, 'created_at': {'type': 'string', 'format': 'date-time'}, 'updated_at': {'type': 'string', 'format': 'date-time'}, 'votes_up': {'type': 'number'}, 'votes_down': {'type': 'number'}, 'score': {'type': 'number'}, 'content': {'type': 'string'}, 'title': {'type': ['string', 'null']}, 'email': {'type': ['string', 'null']}, 'sentiment': {'type': ['number', 'null']}, 'sku': {'type': 'string'}, 'name': {'type': 'string'}, 'reviewer_type': {'type': 'string'}, 'deleted': {'type': 'boolean'}, 'user_reference': {'type': ['null', 'string']}}, 'additionalProperties': False}, 'key_properties': ['id']}
This msg seems valid to me: table = msg.stream and if I print it it's reviews as expected. What did I miss?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels