在 datawork 里创建ots 的外部引用表。报错 unsupported feature non-external table with stord by location 这个是什么原因? 之前在另一个项目里是可以执行的。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这个错误表示无法使用“存储位置”(STORED BY LOCATION)与非外部表一起使用。在创建外部引用表时,您必须将其定义为外部表并指定其存储在哪个位置。 如果该表不在外部存储位置上,您需要将其定义为标准表(而不是外部表)。
可能有两种原因导致在 datawork 中创建外部引用表时出现此错误。 第一种原因可能是您在定义表时错误地指定了“存储位置”选项,或者您将其指定为了错误的位置。第二种可能原因是该表在 datawork 中被定义为非外部表类型,因此您需要验证表的类型是否正确。
如果您之前在另一个项目中成功创建了外部引用表,则可能是您使用的 datawork 版本不同,或者您在创建表时使用了不同的语法或选项。建议您检查文档以获得正确的语法和选项,以确保在 datawork 中创建表时不会出现问题。
可以检查下location的连接是否正确。 OTS建表如下:
CREATE EXTERNAL TABLE IF NOT EXISTS ots_table_external(
odps_orderkey bigint,
odps_orderdate string,
odps_custkey bigint,
odps_orderstatus string,
odps_totalprice double
)
STORED BY 'com.aliyun.odps.TableStoreStorageHandler'
WITH SERDEPROPERTIES (
'tablestore.columns.mapping'=':o_orderkey,:o_orderdate,o_custkey, o_orderstatus,o_totalprice', -- (3)
'tablestore.table.name'='ots_tpch_orders'
'odps.properties.rolearn'='acs:ram::xxxxx:role/aliyunodpsdefaultrole'
)
LOCATION 'tablestore://odps-ots-dev.cn-shanghai.ots-internal.aliyuncs.com';
LOCATION:用来指定Table Storeinstance名字、endpoint等具体信息。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。