python - 气流:Google Cloud Composer:TypeError:“字节”类型的对象不是 JSON 可序列化的
问题描述
我正在使用 MySqlToGoogleCloudStorageOperator,如下所示。
Dag 任务详情
def gen_export_table_task(table_config):
export_task = MySqlToGoogleCloudStorageOperator(task_id='export_dag_run_to_gcs',
dag=dag,
sql='SELECT * FROM dag_run LIMIT 10',
bucket='gs://aca-composer-bq-test-vishesh',
filename="cloudsql_to_bigquery_file.json",
google_cloud_storage_conn_id='google_cloud_storage_default',
mysql_conn_id='airflow_db')
return export_task
请在下面找到我在执行 DAG 时遇到的错误详细信息:
[2019-12-19 11:32:29,649] {models.py:1796} ERROR - Object of type 'bytes' is not JSON serializable
Traceback (most recent call last)
File "/usr/local/lib/airflow/airflow/models.py", line 1659, in _run_raw_tas
result = task_copy.execute(context=context
File "/usr/local/lib/airflow/airflow/contrib/operators/mysql_to_gcs.py", line 106, in execut
files_to_upload = self._write_local_data_files(cursor
File "/usr/local/lib/airflow/airflow/contrib/operators/mysql_to_gcs.py", line 153, in _write_local_data_file
s = json.dumps(row_dict
File "/opt/python3.6/lib/python3.6/json/__init__.py", line 231, in dump
return _default_encoder.encode(obj
File "/opt/python3.6/lib/python3.6/json/encoder.py", line 199, in encod
chunks = self.iterencode(o, _one_shot=True
File "/opt/python3.6/lib/python3.6/json/encoder.py", line 257, in iterencod
return _iterencode(o, 0
File "/opt/python3.6/lib/python3.6/json/encoder.py", line 180, in defaul
o.__class__.__name__
TypeError: Object of type 'bytes' is not JSON serializabl
解决方案
推荐阅读
- webrtc - 如何在 a-frame 内实现实时视频流?
- c# - 是否可以在 Azure WebApp 中托管的 ASP.NET-WebAPI 项目中使用 ActiveX 组件?
- regex - 正则表达式 - 专门用于 Excel VBA 的 URL 正则表达式
- sql - 对整个列执行一次查询,而不是遍历所有单元格
- java - OffsetDateTime 中的 Z 偏移量是多少?
- c# - 无法在 WinForms 中获取串行端口名称
- reactjs - 如何将分析器添加到反应开发工具?
- jsp - 为什么 JSTL 的 fmt:setLocale 标记仅适用于设置为会话的范围?
- asp.net-mvc - MVC 通过复选框多选将 ID 从视图传递到控制器
- angular - 如何在运行测试时修复模块意外的组件声明?