我在Glue / Athena注册了一个数据集,称之为 my_db.table
. 我可以通过雅典娜查询它,一切似乎都井然有序 .
我正在尝试在Glue作业中使用此表,但我收到以下相当不透明的错误消息:
py4j.protocol.Py4JJavaError: An error occurred while calling o54.getCatalogSource.
: java.lang.Error: No classification or connection in my_db.table
这似乎表明Glue无法查看我的表的商品,或者无法使用该条目中的信息,但我没有任何进一步的可见性 .
有没有人遇到过这个错误以及可能导致它的原因?
1 回答
错误消息实际上很好地描述了问题 - 正在查询的表没有分类 .
通过Glue创建的表在分类中注册 -
csv
,parquet
,orc
,avro
,json
. 见Creating Tables Using Athena for AWS Glue Jobs .我通过雅典娜“手动”创建的表格没有分类 . 请参阅胶水“表格”页面中的以下屏幕截图 .
解决方案很简单:在
CREATE TABLE
脚本的末尾,用户必须附加classification
属性,如此现在该表在Glue界面中有一个分类,可以通过Glue作业访问 .