Paimon 开启控权后,Doris 创建 Paimon Catalog 无权限查询。

Viewed 64

背景:

1. Doris 2.1.7 版本:doris-2.1.7-rc03-443e87e203
2. Flink 1.20.0 版本,使用的是 Flink SQL。
3. Paimon 0.9 版本。

问题描述:

1. char 类型空格填充。

doris unique key 模型,uuid 设置为 char(32),paimon 中存储的也是 char(32),实际数据长度 22 字节,查询 paimon 返回结果正常,但是 doris 该字段的值被填充了空格,主键与非主键都会被填充。
在 Flink SQL 注册表时改为 varchar(32) 同步的数据一切正常。
信息: I/O exception (java.net.SocketException) caught when processing request to {}->http://127.0.0.0:8040: Socket closed

3. Doris 创建 Paimon 的 Catalog 出现无权限查询。

这是因为在 Paimon 中开启了权限管控,其实就是在 Paimon 中创建用户,并赋予权限,例如查询、修改、写入等,对整库生效;在 Paimon 中创建 catalog 时需要添加 userpassword, 但是在 Doris 创建 Paimoncatalog 即使加上这两个参数也不行。

Doris 创建 Paimon Catalog 语句 & 查询:
create catalog paimon_oss PROPERTIES (
    "warehouse" = "oss://paimon",
    "user" = "root",
    "type" = "paimon",
    "password" = "*XXX",
    "oss.secret_key" = "*XXX",
    "oss.endpoint" = "oss.xxxxx-aliyuncs.com",
    "oss.access_key" = "xxxxxxxx"
);

-- 查询语句
select id from paimon_oss.ods.ods_test_table;
执行查询后的报错提示:

SQL 错误 [1105] [HY000]: errCode = 2, detailMessage = Unexpected exception: User anonymous doesn't have privilege SELECT on table ods.ods_test_table;

我感觉上述的问题很可能只是我遗漏了参数导致的,但是我在官网没有找到,特来此发帖求助。

补充

十分抱歉,前面两个问题是我个人疏忽导致的:

  1. 从官网看到 Doris 类型与 Flink SQL 类型映射关系为:char/varchar 要映射为 string,不过这里好像将 char 改为 varchar 也可以正常转换,不再填充空格。不需要全部映射为 Flink SQLString

  2. 无论是 Flink SQL 还是 DataStream API 写入 Doris,当出现字节长度等问题无法写入时,都会有 error 链接出现,我上述之所以说没有出现日志,是因为本地调试时 log4j 没有配置好。

  3. 不过第三个问题,还是没有找到解决方案,希望大佬协助处理,十分感谢!

1 Answers

Doris 创建 Paimon 的 Catalog 出现无权限查询。这个问题对应的catalog创建语句麻烦提供一下,可以详细描述一下Paimon 中开启了权限管控这个步骤吗,以及查询fe.log中的报错。