将caravel连接到配置单元服务器时,加载表时引发错误 2016-07-06 19:39:09153:错误:root:编译器无法呈现类型为的元素 回溯(最近一次呼叫最后一次): 文件“/Users/user\u name/.virtualenvs/caravel27/lib/python2.7/site packages/caravel/models.py”,第771行,在fetch\u元数据中 datatype=“{}”.format(col.type).upper() 文件“/Users/user\u name/.virtualenvs/caravel27/lib/python2.7/site packages/sqlalchemy/sql/type\u api.py”,第481行,在__ 返回unicode(self.compile())\ 文件“/Users/user_name/.virtualenvs/caravel27/lib/python2.7/site packages/sqlalchemy/sql/type_api.py”,第468行,编译 返回方言.type_编译器.process(self) 文件“/Users/user_name/.virtualenvs/caravel27/lib/python2.7/site packages/sqlalchemy/sql/compiler.py”,第261行,正在处理中 返回类型\编译器\分派(自身,**千瓦) 文件“/Users/user\u name/.virtualenvs/caravel27/lib/python2.7/site packages/sqlalchemy/sql/visitors.py”,第79行,在编译器调度中 提升exc.UNSUPPOREDCOMPILATIONERROR(访客,cls)

将caravel连接到配置单元服务器时,加载表时引发错误 2016-07-06 19:39:09153:错误:root:编译器无法呈现类型为的元素 回溯(最近一次呼叫最后一次): 文件“/Users/user\u name/.virtualenvs/caravel27/lib/python2.7/site packages/caravel/models.py”,第771行,在fetch\u元数据中 datatype=“{}”.format(col.type).upper() 文件“/Users/user\u name/.virtualenvs/caravel27/lib/python2.7/site packages/sqlalchemy/sql/type\u api.py”,第481行,在__ 返回unicode(self.compile())\ 文件“/Users/user_name/.virtualenvs/caravel27/lib/python2.7/site packages/sqlalchemy/sql/type_api.py”,第468行,编译 返回方言.type_编译器.process(self) 文件“/Users/user_name/.virtualenvs/caravel27/lib/python2.7/site packages/sqlalchemy/sql/compiler.py”,第261行,正在处理中 返回类型\编译器\分派(自身,**千瓦) 文件“/Users/user\u name/.virtualenvs/caravel27/lib/python2.7/site packages/sqlalchemy/sql/visitors.py”,第79行,在编译器调度中 提升exc.UNSUPPOREDCOMPILATIONERROR(访客,cls),sqlalchemy,hive,Sqlalchemy,Hive,类似的问题也有报道 但是,如果使用sqlalchemyviacaravel 以下是复制错误的方法: 安装并使用caravel运行服务器-d运行caravel。然后将hive2数据库添加到caravel。要做到这一点,你需要英皮拉。安装后,将其用作sqlAlchemyURLimpala://somehostname.compute.amazonaws.com:10000/database_name?auth_mechanism=‌​普通的。测试连接应返回似乎正常。Caravel还应该能够发现数据库

类似的问题也有报道

但是,如果使用
sqlalchemy
via
caravel

以下是复制错误的方法:


安装并使用
caravel运行服务器-d
运行caravel。然后将hive2数据库添加到caravel。要做到这一点,你需要英皮拉。安装后,将其用作sqlAlchemyURL
impala://somehostname.compute.amazonaws.com:10000/database_name?auth_mechanism=‌​普通的
。测试连接应返回
似乎正常
。Caravel还应该能够发现数据库名称中的所有表。但是,当我添加表时,caravel将所有列标识为未知类型。然后查看caravel发布的日志,应该记录上面提到的错误

通过此提交解决的问题

通过此提交解决的问题

在询问调试问题时,请包括。换句话说,创建一个产生错误的小示例。然后,我使用impyla添加了一个hive2数据库。这是我在sqlAlchemyURL
impala://somehostname.compute.amazonaws.com:10000/database_name?auth_mechanism=PLAIN
。测试连接返回
似乎正常
。Caravel还能够发现数据库_name中的所有表。但是,当我添加表时,caravel将所有列标识为未知类型。然后我查看了caravel发布的日志,上面提到的错误被记录了下来。在询问调试问题时,请包括一个。换句话说,创建一个产生错误的小示例。然后,我使用impyla添加了一个hive2数据库。这是我在sqlAlchemyURL
impala://somehostname.compute.amazonaws.com:10000/database_name?auth_mechanism=PLAIN
。测试连接返回
似乎正常
。Caravel还能够发现数据库_name中的所有表。但是,当我添加表时,caravel将所有列标识为未知类型。然后我查看caravel发布的日志,上面提到的错误被记录下来。
2016-07-06 19:39:09,153:ERROR:root:Compiler <sqlalchemy.sql.compiler.GenericTypeCompiler object at 0x10c75d150> can't render element of type <class 'impala.sqlalchemy.STRING'>
Traceback (most recent call last):
  File "/Users/user_name/.virtualenvs/caravel27/lib/python2.7/site-packages/caravel/models.py", line 771, in fetch_metadata
    datatype = "{}".format(col.type).upper()
  File "/Users/user_name/.virtualenvs/caravel27/lib/python2.7/site-packages/sqlalchemy/sql/type_api.py", line 481, in __str__
    return unicode(self.compile()).\
  File "/Users/user_name/.virtualenvs/caravel27/lib/python2.7/site-packages/sqlalchemy/sql/type_api.py", line 468, in compile
    return dialect.type_compiler.process(self)
  File "/Users/user_name/.virtualenvs/caravel27/lib/python2.7/site-packages/sqlalchemy/sql/compiler.py", line 261, in process
    return type_._compiler_dispatch(self, **kw)
  File "/Users/user_name/.virtualenvs/caravel27/lib/python2.7/site-packages/sqlalchemy/sql/visitors.py", line 79, in _compiler_dispatch
    raise exc.UnsupportedCompilationError(visitor, cls)