关于FlinkSQL的文档中flinksql的connector和catalog划分以及hive catalog和hive connector是否必须配合使用的问题。

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

关于FlinkSQL的文档中flinksql的connector和catalog划分以及hive catalog和hive connector是否必须配合使用的问题。

Zhao,Yi(SEC)
1 为什么flinksql 1.11中,JDBC Catalog通过简单的链接转给了connector,catalog和connector并不是同一个概念。我认为应该将jdbc connectior和jdbc catalog分开放入各自目录。

2      为什么flinksql1.11中,connector部分没有hive connector。而是在hive integration部分,以及catalogs中介绍。而且在 Table API & SQL/Hive Integration/Hive Read & Write 部分,第一句是“Using the HiveCatalog and Flink’s connector to Hive, Flink can read and write from Hive data as an alternative to Hive’s batch engine.”。难道不使用hivecatalog就不能读取hive数据?是这个意思嘛。感觉好像意思是hive读取特别,这种情况必须使用hive catalog。不可以使用jdbc catalog,但使用hive connector嘛?
Reply | Threaded
Open this post in threaded view
|

Re: 关于FlinkSQL的文档中flinksql的connector和catalog划分以及hive catalog和hive connector是否必须配合使用的问题。

Danny Chan
你好 ~

1. 你是只文档结构吗 ?catalog 是 flink SQL 管理表元数据信息的组件,通过注册 catalog 用户可以直接访问 catalog 中的已存表,当然用户也可以通过 CREATE TABLE DDL 来创建对应的 connector 表
2. 访问 hive metastore 中的表示一定要用 hive catalog 的,如果是新建临时表(不持久化),也可以使用内置的 catalog

Best,
Danny Chan
在 2020年8月10日 +0800 PM8:14,Zhao,Yi(SEC) <[hidden email]>,写道:
> 1 为什么flinksql 1.11中,JDBC Catalog通过简单的链接转给了connector,catalog和connector并不是同一个概念。我认为应该将jdbc connectior和jdbc catalog分开放入各自目录。
>
> 2 为什么flinksql1.11中,connector部分没有hive connector。而是在hive integration部分,以及catalogs中介绍。而且在 Table API & SQL/Hive Integration/Hive Read & Write 部分,第一句是“Using the HiveCatalog and Flink’s connector to Hive, Flink can read and write from Hive data as an alternative to Hive’s batch engine.”。难道不使用hivecatalog就不能读取hive数据?是这个意思嘛。感觉好像意思是hive读取特别,这种情况必须使用hive catalog。不可以使用jdbc catalog,但使用hive connector嘛?
Reply | Threaded
Open this post in threaded view
|

Re: 关于FlinkSQL的文档中flinksql的connector和catalog划分以及hive catalog和hive connector是否必须配合使用的问题。

Zhao,Yi(SEC)
如果使用了Hive catalog,我创建一个流式表,然后返回基于同一个HiveCatalog的spark-sql中,那个表能看到吗?如果尝试查询是不是会出错?
无法实验:我现在还没搞定,因为简单的配置ok,连接到了hive metastore,也通过 show tables看到了表,但select会出错(这个问题后续再说,现在就是想知道这种基于已有catalog的情况时是不是不太好,比较flink-sql特有流表)。

在 2020/8/10 下午8:24,“Danny Chan”<[hidden email]> 写入:

    你好 ~
   
    1. 你是只文档结构吗 ?catalog 是 flink SQL 管理表元数据信息的组件,通过注册 catalog 用户可以直接访问 catalog 中的已存表,当然用户也可以通过 CREATE TABLE DDL 来创建对应的 connector 表
    2. 访问 hive metastore 中的表示一定要用 hive catalog 的,如果是新建临时表(不持久化),也可以使用内置的 catalog
   
    Best,
    Danny Chan
    在 2020年8月10日 +0800 PM8:14,Zhao,Yi(SEC) <[hidden email]>,写道:
    > 1 为什么flinksql 1.11中,JDBC Catalog通过简单的链接转给了connector,catalog和connector并不是同一个概念。我认为应该将jdbc connectior和jdbc catalog分开放入各自目录。
    >
    > 2 为什么flinksql1.11中,connector部分没有hive connector。而是在hive integration部分,以及catalogs中介绍。而且在 Table API & SQL/Hive Integration/Hive Read & Write 部分,第一句是“Using the HiveCatalog and Flink’s connector to Hive, Flink can read and write from Hive data as an alternative to Hive’s batch engine.”。难道不使用hivecatalog就不能读取hive数据?是这个意思嘛。感觉好像意思是hive读取特别,这种情况必须使用hive catalog。不可以使用jdbc catalog,但使用hive connector嘛?
   

Reply | Threaded
Open this post in threaded view
|

Re: 关于FlinkSQL的文档中flinksql的connector和catalog划分以及hive catalog和hive connector是否必须配合使用的问题。

Leonard Xu
In reply to this post by Zhao,Yi(SEC)
Hi Zhao

> 1 为什么flinksql 1.11中,JDBC Catalog通过简单的链接转给了connector,catalog和connector并不是同一个概念。我认为应该将jdbc connectior和jdbc catalog分开放入各自目录。


两个是不同的概念,JDBC catalog 可以 包含在 JDBC connector 里,你可以理解 JDBC connector 是 Flink 与 JDBC 交互的连接器,Catalog也属于交互的一部分。JDBC connector里不只是数据的读取/写入 JDBC,也包括了JDBC dialect 和 JDBC catalog等, JDBC catalog 目前能读取的表都是 JDBC(目前支持Pg) 的表,JDBC catalog 读取表/库 的逻辑 和 JDBC 读取/写入数据 有很多的复用的逻辑。


> 2      为什么flinksql1.11中,connector部分没有hive connector。而是在hive integration部分,以及catalogs中介绍。而且在 Table API & SQL/Hive Integration/Hive Read & Write 部分,第一句是“Using the HiveCatalog and Flink’s connector to Hive, Flink can read and write from Hive data as an alternative to Hive’s batch engine.”
Hive 是Hadoop上一个比较大的生态系统,同时hive也有自己的计算引擎(batch),Flink 不是简单地 链接 到hive,而是可以作为 Hive 的一个替代的计算引擎,除了读取/写入数据到Hive外,用户Hive里的SQL作业完全可以用Flink跑,这已经脱离了简单的交互的范畴了,所以会放在集成部分。

> 。难道不使用hivecatalog就不能读取hive数据?是这个意思嘛。感觉好像意思是hive读取特别,这种情况必须使用hive catalog。不可以使用jdbc catalog,但使用hive connector嘛?

是的,不是特别,而是HiveCatalog 就是用来管理 Hive中表、库、函数的元数据中心,用这个HiveCatalog也是很自然的事情。目前不可以使用JDBC catalog,很长一段时间也应该不行,Jdbc catalog 里存的表都是DB里的表,不支持存放Hive的表。


祝好
Leonard Xu
Reply | Threaded
Open this post in threaded view
|

Re: 关于FlinkSQL的文档中flinksql的connector和catalog划分以及hive catalog和hive connector是否必须配合使用的问题。

Rui Li
> 不可以使用jdbc catalog,但使用hive connector嘛?

关于这一点稍微补充一下,我们目前访问hive元数据要求必须启动一个HMS,然后我们通过这个HMS来读写元数据(HiveCatalog就是用来对接HMS的),而不是直接去读底层的DBMS的,所以jdbc
catalog是读不了hive元数据的。

On Tue, Aug 11, 2020 at 9:32 AM Leonard Xu <[hidden email]> wrote:

> Hi Zhao
>
> > 1 为什么flinksql 1.11中,JDBC
> Catalog通过简单的链接转给了connector,catalog和connector并不是同一个概念。我认为应该将jdbc
> connectior和jdbc catalog分开放入各自目录。
>
>
> 两个是不同的概念,JDBC catalog 可以 包含在 JDBC connector 里,你可以理解 JDBC connector 是 Flink
> 与 JDBC 交互的连接器,Catalog也属于交互的一部分。JDBC connector里不只是数据的读取/写入 JDBC,也包括了JDBC
> dialect 和 JDBC catalog等, JDBC catalog 目前能读取的表都是 JDBC(目前支持Pg) 的表,JDBC
> catalog 读取表/库 的逻辑 和 JDBC 读取/写入数据 有很多的复用的逻辑。
>
>
> > 2      为什么flinksql1.11中,connector部分没有hive connector。而是在hive
> integration部分,以及catalogs中介绍。而且在 Table API & SQL/Hive Integration/Hive Read
> & Write 部分,第一句是“Using the HiveCatalog and Flink’s connector to Hive, Flink
> can read and write from Hive data as an alternative to Hive’s batch engine.”
> Hive 是Hadoop上一个比较大的生态系统,同时hive也有自己的计算引擎(batch),Flink 不是简单地 链接 到hive,而是可以作为
> Hive
> 的一个替代的计算引擎,除了读取/写入数据到Hive外,用户Hive里的SQL作业完全可以用Flink跑,这已经脱离了简单的交互的范畴了,所以会放在集成部分。
>
> > 。难道不使用hivecatalog就不能读取hive数据?是这个意思嘛。感觉好像意思是hive读取特别,这种情况必须使用hive
> catalog。不可以使用jdbc catalog,但使用hive connector嘛?
>
> 是的,不是特别,而是HiveCatalog 就是用来管理
> Hive中表、库、函数的元数据中心,用这个HiveCatalog也是很自然的事情。目前不可以使用JDBC
> catalog,很长一段时间也应该不行,Jdbc catalog 里存的表都是DB里的表,不支持存放Hive的表。
>
>
> 祝好
> Leonard Xu



--
Best regards!
Rui Li
Reply | Threaded
Open this post in threaded view
|

Re: 关于FlinkSQL的文档中flinksql的connector和catalog划分以及hive catalog和hive connector是否必须配合使用的问题。

Rui Li
In reply to this post by Zhao,Yi(SEC)
你是想问Flink通过HiveCatalog创建的流式表在SparkSQL中是不是可见么?Flink通过HiveCatalog创建的流式表在HMS中也是作为一张普通的表存在的,所以我理解SparkSQL如果对接同一个HMS的话也是可以看到这张表的。但不管是Hive还是SparkSQL,尝试查询这个流式表应该都会出错,目前这一点是需要用户自己保证的,比如可以通过不同的DB来做划分。

On Mon, Aug 10, 2020 at 8:43 PM Zhao,Yi(SEC) <[hidden email]> wrote:

> 如果使用了Hive
> catalog,我创建一个流式表,然后返回基于同一个HiveCatalog的spark-sql中,那个表能看到吗?如果尝试查询是不是会出错?
> 无法实验:我现在还没搞定,因为简单的配置ok,连接到了hive metastore,也通过 show
> tables看到了表,但select会出错(这个问题后续再说,现在就是想知道这种基于已有catalog的情况时是不是不太好,比较flink-sql特有流表)。
>
> 在 2020/8/10 下午8:24,“Danny Chan”<[hidden email]> 写入:
>
>     你好 ~
>
>     1. 你是只文档结构吗 ?catalog 是 flink SQL 管理表元数据信息的组件,通过注册 catalog 用户可以直接访问
> catalog 中的已存表,当然用户也可以通过 CREATE TABLE DDL 来创建对应的 connector 表
>     2. 访问 hive metastore 中的表示一定要用 hive catalog 的,如果是新建临时表(不持久化),也可以使用内置的
> catalog
>
>     Best,
>     Danny Chan
>     在 2020年8月10日 +0800 PM8:14,Zhao,Yi(SEC) <[hidden email]>,写道:
>     > 1 为什么flinksql 1.11中,JDBC
> Catalog通过简单的链接转给了connector,catalog和connector并不是同一个概念。我认为应该将jdbc
> connectior和jdbc catalog分开放入各自目录。
>     >
>     > 2 为什么flinksql1.11中,connector部分没有hive connector。而是在hive
> integration部分,以及catalogs中介绍。而且在 Table API & SQL/Hive Integration/Hive Read
> & Write 部分,第一句是“Using the HiveCatalog and Flink’s connector to Hive, Flink
> can read and write from Hive data as an alternative to Hive’s batch
> engine.”。难道不使用hivecatalog就不能读取hive数据?是这个意思嘛。感觉好像意思是hive读取特别,这种情况必须使用hive
> catalog。不可以使用jdbc catalog,但使用hive connector嘛?
>
>
>

--
Best regards!
Rui Li
Reply | Threaded
Open this post in threaded view
|

Re: 关于FlinkSQL的文档中flinksql的connector和catalog划分以及hive catalog和hive connector是否必须配合使用的问题。

Zhao,Yi(SEC)
In reply to this post by Rui Li
好吧。其实我本来觉得 Catalog 和 Connector 独立开会更好理解,结构也更清晰。比如,按照我的想法,每种Catalog的实现,相当于针对各种主流数据源的表都对应某种元数据存储的方式,比如jdbc中存储了hive表的元数据等。
当然这只是想法,不清楚是否有方法官方维护一个Catalog(比如基于jdbc感觉相对方便,即持久化,更大众;毕竟我记得好像hive也支持jdbc的metastore来着),然后这个Catalog不断支持更多的主流数据源。
甚至,如果不可行。我认为读写hive数据不应该复用hive原先的metastore,我是考虑kafka流表的问题。如果flink-sql创建了一个流表保存到hive catalog,那么hive-sql或者spark-sql去读取这个表岂不是会报错什么的?

在 2020/8/11 上午10:26,“Rui Li”<[hidden email]> 写入:

    > 不可以使用jdbc catalog,但使用hive connector嘛?
   
    关于这一点稍微补充一下,我们目前访问hive元数据要求必须启动一个HMS,然后我们通过这个HMS来读写元数据(HiveCatalog就是用来对接HMS的),而不是直接去读底层的DBMS的,所以jdbc
    catalog是读不了hive元数据的。
   
    On Tue, Aug 11, 2020 at 9:32 AM Leonard Xu <[hidden email]> wrote:
   
    > Hi Zhao
    >
    > > 1 为什么flinksql 1.11中,JDBC
    > Catalog通过简单的链接转给了connector,catalog和connector并不是同一个概念。我认为应该将jdbc
    > connectior和jdbc catalog分开放入各自目录。
    >
    >
    > 两个是不同的概念,JDBC catalog 可以 包含在 JDBC connector 里,你可以理解 JDBC connector 是 Flink
    > 与 JDBC 交互的连接器,Catalog也属于交互的一部分。JDBC connector里不只是数据的读取/写入 JDBC,也包括了JDBC
    > dialect 和 JDBC catalog等, JDBC catalog 目前能读取的表都是 JDBC(目前支持Pg) 的表,JDBC
    > catalog 读取表/库 的逻辑 和 JDBC 读取/写入数据 有很多的复用的逻辑。
    >
    >
    > > 2      为什么flinksql1.11中,connector部分没有hive connector。而是在hive
    > integration部分,以及catalogs中介绍。而且在 Table API & SQL/Hive Integration/Hive Read
    > & Write 部分,第一句是“Using the HiveCatalog and Flink’s connector to Hive, Flink
    > can read and write from Hive data as an alternative to Hive’s batch engine.”
    > Hive 是Hadoop上一个比较大的生态系统,同时hive也有自己的计算引擎(batch),Flink 不是简单地 链接 到hive,而是可以作为
    > Hive
    > 的一个替代的计算引擎,除了读取/写入数据到Hive外,用户Hive里的SQL作业完全可以用Flink跑,这已经脱离了简单的交互的范畴了,所以会放在集成部分。
    >
    > > 。难道不使用hivecatalog就不能读取hive数据?是这个意思嘛。感觉好像意思是hive读取特别,这种情况必须使用hive
    > catalog。不可以使用jdbc catalog,但使用hive connector嘛?
    >
    > 是的,不是特别,而是HiveCatalog 就是用来管理
    > Hive中表、库、函数的元数据中心,用这个HiveCatalog也是很自然的事情。目前不可以使用JDBC
    > catalog,很长一段时间也应该不行,Jdbc catalog 里存的表都是DB里的表,不支持存放Hive的表。
    >
    >
    > 祝好
    > Leonard Xu
   
   
   
    --
    Best regards!
    Rui Li
   

Reply | Threaded
Open this post in threaded view
|

Re: 关于FlinkSQL的文档中flinksql的connector和catalog划分以及hive catalog和hive connector是否必须配合使用的问题。

Zhao,Yi(SEC)
In reply to this post by Rui Li
是的。我更多是纠结文档结构容易造成混淆。我认为catalog和connector是相对独立的概念。最对算是有点关系。
但是根据其他人的回答,目前来看,这2者还真没办法完全独立。比如jdbc connector就是不支持hive表。读写hive表还就是需要hive catalog。于是我刚刚回了另一封邮件写到,这种case下,我认为实践中,可以单独搞一个hive metastore仅仅服务于flink,hive和spark-sql则使用另一个hive metastore。这样去独立出来,避免出现流表被spark,hive可见。
__________________

在 2020/8/11 上午10:35,“Rui Li”<[hidden email]> 写入:

    你是想问Flink通过HiveCatalog创建的流式表在SparkSQL中是不是可见么?Flink通过HiveCatalog创建的流式表在HMS中也是作为一张普通的表存在的,所以我理解SparkSQL如果对接同一个HMS的话也是可以看到这张表的。但不管是Hive还是SparkSQL,尝试查询这个流式表应该都会出错,目前这一点是需要用户自己保证的,比如可以通过不同的DB来做划分。
   
    On Mon, Aug 10, 2020 at 8:43 PM Zhao,Yi(SEC) <[hidden email]> wrote:
   
    > 如果使用了Hive
    > catalog,我创建一个流式表,然后返回基于同一个HiveCatalog的spark-sql中,那个表能看到吗?如果尝试查询是不是会出错?
    > 无法实验:我现在还没搞定,因为简单的配置ok,连接到了hive metastore,也通过 show
    > tables看到了表,但select会出错(这个问题后续再说,现在就是想知道这种基于已有catalog的情况时是不是不太好,比较flink-sql特有流表)。
    >
    > 在 2020/8/10 下午8:24,“Danny Chan”<[hidden email]> 写入:
    >
    >     你好 ~
    >
    >     1. 你是只文档结构吗 ?catalog 是 flink SQL 管理表元数据信息的组件,通过注册 catalog 用户可以直接访问
    > catalog 中的已存表,当然用户也可以通过 CREATE TABLE DDL 来创建对应的 connector 表
    >     2. 访问 hive metastore 中的表示一定要用 hive catalog 的,如果是新建临时表(不持久化),也可以使用内置的
    > catalog
    >
    >     Best,
    >     Danny Chan
    >     在 2020年8月10日 +0800 PM8:14,Zhao,Yi(SEC) <[hidden email]>,写道:
    >     > 1 为什么flinksql 1.11中,JDBC
    > Catalog通过简单的链接转给了connector,catalog和connector并不是同一个概念。我认为应该将jdbc
    > connectior和jdbc catalog分开放入各自目录。
    >     >
    >     > 2 为什么flinksql1.11中,connector部分没有hive connector。而是在hive
    > integration部分,以及catalogs中介绍。而且在 Table API & SQL/Hive Integration/Hive Read
    > & Write 部分,第一句是“Using the HiveCatalog and Flink’s connector to Hive, Flink
    > can read and write from Hive data as an alternative to Hive’s batch
    > engine.”。难道不使用hivecatalog就不能读取hive数据?是这个意思嘛。感觉好像意思是hive读取特别,这种情况必须使用hive
    > catalog。不可以使用jdbc catalog,但使用hive connector嘛?
    >
    >
    >
   
    --
    Best regards!
    Rui Li
   

Reply | Threaded
Open this post in threaded view
|

Re: 关于FlinkSQL的文档中flinksql的connector和catalog划分以及hive catalog和hive connector是否必须配合使用的问题。

Jingsong Li
Hi,

我觉得是时候考虑把hive文档移到connector里了,我们没必要割裂它们

Best,
Jingsong

On Tue, Aug 11, 2020 at 10:39 AM Zhao,Yi(SEC) <[hidden email]> wrote:

> 是的。我更多是纠结文档结构容易造成混淆。我认为catalog和connector是相对独立的概念。最对算是有点关系。
> 但是根据其他人的回答,目前来看,这2者还真没办法完全独立。比如jdbc connector就是不支持hive表。读写hive表还就是需要hive
> catalog。于是我刚刚回了另一封邮件写到,这种case下,我认为实践中,可以单独搞一个hive
> metastore仅仅服务于flink,hive和spark-sql则使用另一个hive
> metastore。这样去独立出来,避免出现流表被spark,hive可见。
> __________________
>
> 在 2020/8/11 上午10:35,“Rui Li”<[hidden email]> 写入:
>
>
> 你是想问Flink通过HiveCatalog创建的流式表在SparkSQL中是不是可见么?Flink通过HiveCatalog创建的流式表在HMS中也是作为一张普通的表存在的,所以我理解SparkSQL如果对接同一个HMS的话也是可以看到这张表的。但不管是Hive还是SparkSQL,尝试查询这个流式表应该都会出错,目前这一点是需要用户自己保证的,比如可以通过不同的DB来做划分。
>
>     On Mon, Aug 10, 2020 at 8:43 PM Zhao,Yi(SEC) <[hidden email]>
> wrote:
>
>     > 如果使用了Hive
>     >
> catalog,我创建一个流式表,然后返回基于同一个HiveCatalog的spark-sql中,那个表能看到吗?如果尝试查询是不是会出错?
>     > 无法实验:我现在还没搞定,因为简单的配置ok,连接到了hive metastore,也通过 show
>     >
> tables看到了表,但select会出错(这个问题后续再说,现在就是想知道这种基于已有catalog的情况时是不是不太好,比较flink-sql特有流表)。
>     >
>     > 在 2020/8/10 下午8:24,“Danny Chan”<[hidden email]> 写入:
>     >
>     >     你好 ~
>     >
>     >     1. 你是只文档结构吗 ?catalog 是 flink SQL 管理表元数据信息的组件,通过注册 catalog
> 用户可以直接访问
>     > catalog 中的已存表,当然用户也可以通过 CREATE TABLE DDL 来创建对应的 connector 表
>     >     2. 访问 hive metastore 中的表示一定要用 hive catalog
> 的,如果是新建临时表(不持久化),也可以使用内置的
>     > catalog
>     >
>     >     Best,
>     >     Danny Chan
>     >     在 2020年8月10日 +0800 PM8:14,Zhao,Yi(SEC) <[hidden email]>,写道:
>     >     > 1 为什么flinksql 1.11中,JDBC
>     > Catalog通过简单的链接转给了connector,catalog和connector并不是同一个概念。我认为应该将jdbc
>     > connectior和jdbc catalog分开放入各自目录。
>     >     >
>     >     > 2 为什么flinksql1.11中,connector部分没有hive connector。而是在hive
>     > integration部分,以及catalogs中介绍。而且在 Table API & SQL/Hive
> Integration/Hive Read
>     > & Write 部分,第一句是“Using the HiveCatalog and Flink’s connector to Hive,
> Flink
>     > can read and write from Hive data as an alternative to Hive’s batch
>     >
> engine.”。难道不使用hivecatalog就不能读取hive数据?是这个意思嘛。感觉好像意思是hive读取特别,这种情况必须使用hive
>     > catalog。不可以使用jdbc catalog,但使用hive connector嘛?
>     >
>     >
>     >
>
>     --
>     Best regards!
>     Rui Li
>
>
>

--
Best, Jingsong Lee
Reply | Threaded
Open this post in threaded view
|

Re: 关于FlinkSQL的文档中flinksql的connector和catalog划分以及hive catalog和hive connector是否必须配合使用的问题。

Rui Li
In reply to this post by Zhao,Yi(SEC)
> 可以单独搞一个hive metastore仅仅服务于flink,hive和spark-sql则使用另一个hive metastore

是的,完全可以这样用。只是我们代码里没有做这种限制,因为不一定适用于所以用户。另外我印象中SparkSQL也会在HMS存它特定的表的,Hive去读这种表的话可能不会报错,但应该读不到数据。

文档结构确实可以考虑优化一下,跟其他connector保持一致。

On Tue, Aug 11, 2020 at 10:39 AM Zhao,Yi(SEC) <[hidden email]> wrote:

> 是的。我更多是纠结文档结构容易造成混淆。我认为catalog和connector是相对独立的概念。最对算是有点关系。
> 但是根据其他人的回答,目前来看,这2者还真没办法完全独立。比如jdbc connector就是不支持hive表。读写hive表还就是需要hive
> catalog。于是我刚刚回了另一封邮件写到,这种case下,我认为实践中,可以单独搞一个hive
> metastore仅仅服务于flink,hive和spark-sql则使用另一个hive
> metastore。这样去独立出来,避免出现流表被spark,hive可见。
> __________________
>
> 在 2020/8/11 上午10:35,“Rui Li”<[hidden email]> 写入:
>
>
> 你是想问Flink通过HiveCatalog创建的流式表在SparkSQL中是不是可见么?Flink通过HiveCatalog创建的流式表在HMS中也是作为一张普通的表存在的,所以我理解SparkSQL如果对接同一个HMS的话也是可以看到这张表的。但不管是Hive还是SparkSQL,尝试查询这个流式表应该都会出错,目前这一点是需要用户自己保证的,比如可以通过不同的DB来做划分。
>
>     On Mon, Aug 10, 2020 at 8:43 PM Zhao,Yi(SEC) <[hidden email]>
> wrote:
>
>     > 如果使用了Hive
>     >
> catalog,我创建一个流式表,然后返回基于同一个HiveCatalog的spark-sql中,那个表能看到吗?如果尝试查询是不是会出错?
>     > 无法实验:我现在还没搞定,因为简单的配置ok,连接到了hive metastore,也通过 show
>     >
> tables看到了表,但select会出错(这个问题后续再说,现在就是想知道这种基于已有catalog的情况时是不是不太好,比较flink-sql特有流表)。
>     >
>     > 在 2020/8/10 下午8:24,“Danny Chan”<[hidden email]> 写入:
>     >
>     >     你好 ~
>     >
>     >     1. 你是只文档结构吗 ?catalog 是 flink SQL 管理表元数据信息的组件,通过注册 catalog
> 用户可以直接访问
>     > catalog 中的已存表,当然用户也可以通过 CREATE TABLE DDL 来创建对应的 connector 表
>     >     2. 访问 hive metastore 中的表示一定要用 hive catalog
> 的,如果是新建临时表(不持久化),也可以使用内置的
>     > catalog
>     >
>     >     Best,
>     >     Danny Chan
>     >     在 2020年8月10日 +0800 PM8:14,Zhao,Yi(SEC) <[hidden email]>,写道:
>     >     > 1 为什么flinksql 1.11中,JDBC
>     > Catalog通过简单的链接转给了connector,catalog和connector并不是同一个概念。我认为应该将jdbc
>     > connectior和jdbc catalog分开放入各自目录。
>     >     >
>     >     > 2 为什么flinksql1.11中,connector部分没有hive connector。而是在hive
>     > integration部分,以及catalogs中介绍。而且在 Table API & SQL/Hive
> Integration/Hive Read
>     > & Write 部分,第一句是“Using the HiveCatalog and Flink’s connector to Hive,
> Flink
>     > can read and write from Hive data as an alternative to Hive’s batch
>     >
> engine.”。难道不使用hivecatalog就不能读取hive数据?是这个意思嘛。感觉好像意思是hive读取特别,这种情况必须使用hive
>     > catalog。不可以使用jdbc catalog,但使用hive connector嘛?
>     >
>     >
>     >
>
>     --
>     Best regards!
>     Rui Li
>
>
>

--
Best regards!
Rui Li