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)
同様の問題が報告されていますhere。カラベルをハイブサーバーに接続すると、表をロードするときにエラーがスローされる
はcaravel runserver -d
を使用してカラベルを実行しインストールします。私は、これはあなたがエラーを複製することができる方法であるcaravel
経由sqlalchemy
を用いた場合のbind=engine
を渡す方法がわからないしかし
。次に、hive2データベースをcaravelに追加します。これを行うには、証拠が必要です。インストール後、これをsqlAlchemyURL impala://somehostname.compute.amazonaws.com:10000/database_name?auth_mechanism=PLAIN
として使用します。テスト接続はSeems OK
を返す必要があります。 Caravelはdatabase_nameのすべてのテーブルも検出できるはずです。しかし、テーブルを追加すると、caravelはすべての列をUNKNOWN型として識別します。その後、caravelによって投稿されたログを見て、上記のエラーを記録する必要があります。この経由で解決
をコミット質問をデバッグするために尋ねるとき(http://stackoverflow.com/help/mcve)[、最小限の完全かつ検証可能な例]を含めてください。つまり、エラーを生成する小さな例を作成します。 –
私は 'caravel runserver -d'を使ってカーネルをセットアップします。次に、impylaを使ってhive2データベースを追加しました。これは、sqlAlchemyURL 'impala://somehostname.compute.amazonaws.com:10000/database_name?auth_mechanism = PLAIN'に挿入したアドレスです。テスト接続は 'Seems OK'を返します。 Caravelは、database_name内のすべてのテーブルを検出することもできます。しかし、テーブルを追加すると、caravelはすべての列をUNKNOWN型として識別します。それから私はcaravelによって投稿されたログを見て、上記のエラーがログに記録されます。 – Sasaram