Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Apache超集初始化期间发生SQL插入错误_Python_Postgresql_Sqlalchemy_Apache Superset_Superset - Fatal编程技术网

Python Apache超集初始化期间发生SQL插入错误

Python Apache超集初始化期间发生SQL插入错误,python,postgresql,sqlalchemy,apache-superset,superset,Python,Postgresql,Sqlalchemy,Apache Superset,Superset,我正在Docker容器中使用Python 3.7.7+Debian 10设置超集,运行Superset init时出错。预期结果:超集将示例数据和初始配置加载到我的Postgresql 11数据库中 问题似乎与超集试图加载有关其示例数据库的信息有关。具体来说,它试图插入的一些值被读取为NoneType,sqlalchemy拒绝了这些值,因为它们与字节不同。以下是跟踪的最相关部分: 2020-05-20 22:07:50,651:INFO:root:Creating database refere

我正在Docker容器中使用Python 3.7.7+Debian 10设置超集,运行
Superset init
时出错。预期结果:超集将示例数据和初始配置加载到我的Postgresql 11数据库中

问题似乎与超集试图加载有关其示例数据库的信息有关。具体来说,它试图插入的一些值被读取为
NoneType
,sqlalchemy拒绝了这些值,因为它们与字节不同。以下是跟踪的最相关部分:

2020-05-20 22:07:50,651:INFO:root:Creating database reference for examples
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/cryptography/utils.py", line 36, in _check_byteslike
    memoryview(value)
TypeError: memoryview: a bytes-like object is required, not 'NoneType'

...

  File "/usr/local/lib/python3.7/site-packages/superset/cli.py", line 51, in init
    utils.get_example_database()
  File "/usr/local/lib/python3.7/site-packages/superset/utils/core.py", line 976, in get_example_database
    return get_or_create_db("examples", db_uri)
  File "/usr/local/lib/python3.7/site-packages/superset/utils/core.py", line 968, in get_or_create_db
    db.session.commit()
...

sqlalchemy.exc.StatementError: (builtins.TypeError) data must be bytes-like
[SQL: INSERT INTO dbs (created_on, changed_on, verbose_name, database_name, sqlalchemy_uri, password, cache_timeout, select_as_create_table_as, expose_in_sqllab,
 allow_run_async, allow_csv_upload, allow_ctas, allow_dml, force_ctas_schema, allow_multi_schema_metadata_fetch, extra, perm, impersonate_user, created_by_fk, ch
anged_by_fk) VALUES (%(created_on)s, %(changed_on)s, %(verbose_name)s, %(database_name)s, %(sqlalchemy_uri)s, %(password)s, %(cache_timeout)s, %(select_as_create
_table_as)s, %(expose_in_sqllab)s, %(allow_run_async)s, %(allow_csv_upload)s, %(allow_ctas)s, %(allow_dml)s, %(force_ctas_schema)s, %(allow_multi_schema_metadata
_fetch)s, %(extra)s, %(perm)s, %(impersonate_user)s, %(created_by_fk)s, %(changed_by_fk)s) RETURNING dbs.id]
[parameters: [{'database_name': 'examples', 'sqlalchemy_uri': 'postgresql://superset:[redacted]@[redacted]:5432/superset', 'password': '[redacted]', 'perm': None,
 'verbose_name': None, 'cache_timeout': None, 'force_ctas_schema': None}]]
完全跟踪。有趣的事情开始了,当Superset试图记录有关其示例数据库的元数据,但显然没有传递所有必需字段的参数时。它试图实例化
数据库
模型

我在
超集加载\u示例中得到了相同的错误。我不认为这是数据库连接问题,因为我可以通过
psql
进行访问,并且可以看到数据已填充到用户表中

显然,这个命令通常在其他环境中工作正常,所以我想知道在我的设置中是否有某种不兼容的地方,我不知道。包版本:ApacheSuperset 0.35.2、cryptography 2.7、sqlalchemy 1.3.16、sqlalchemy utils 0.36.1。我的超集_config.py是,Dockerfile是的副本


谢谢

嗨,jtotoole,你能给我们看看你的代码吗?如果你能提供一封感谢信,我会更新帖子的。对于超集,唯一需要的原始代码是配置文件;我的是。它与标准没有太大的差异,我能够连接到Postgres主机并更新其用户表中的数据?如果你能提供一封感谢信,我会更新帖子的。对于超集,唯一需要的原始代码是配置文件;我的是。它与标准没有太大的差异,我能够连接到Postgres主机并更新其用户表中的数据。