flink on yarn消费开启kerberos的kafka

2020-05-09 Thread zjfpla...@hotmail.com
大家好,
请问各位flink on yarn如何消费开启kerberos的kafka,以及如何sink到开启kerberos的hbase

现在尝试过在flink-conf.yaml中添加了如下配置:
security.kerberos.login.use-ticket-cache: false
security.kerberos.login.keytab: /home/zjf/zjf.keytab
security.kerberos.login.principal: zjf@TDH
security.kerberos.login.contexts: Client,KafkaClient
zookeeper.sasl.service-name: zookeeper
zookeeper.sasl.login-context-name: Client

其中的keytab已经尝试过能正常运行kafka自带的发送消费shell脚本了,但是实际运行flink任务的时候,发现有org.apache.kafka.common.errors.TimeoutException:
 Timeout expired while fetching topic metadata的报错,无法消费。

并且已经尝试过在yaml中再加入如下配置:
env.java.opts.jobmanager: -Djava.security.auth.login.config=/home/zjf/jaas.conf 
-Djava.security.krb5.conf=/home/zjf/krb5.conf -Dsun.security.krb5.debug=true
env.java.opts.taskmanager: 
-Djava.security.auth.login.config=/home/zjf/jaas.conf 
-Djava.security.krb5.conf=/home/zjf/krb5.conf  -Dsun.security.krb5.debug=true
直接就报了cannot locate default realm的错误

flink版本为1.8.1



zjfpla...@hotmail.com


??????flink on yarn????????kerberos??kafka

2020-05-09 Thread ??????(Jiacheng Jiang)
krb5.conf??FLINK_ENV_JAVA_OPTS=-Djava.security.krb5.conf=x/krb5.conf




--  --
??: "zjfpla...@hotmail.com"

flink lookup join ????????????????????????

2020-05-09 Thread 867127831
Hi, 


??flink??lookup 
join??? 
??


(??)??note(note_id varchar)
(??)??picture(pic_id varchar, note_id varchar)


??note??picturenotepicture,
 sql??


select
  N.note_id as note_id,
  COUNT(P.pic_id) AS img_count 
from note N
LEFT JOIN picture FOR SYSTEM_TIME AS OF N.proc_time AS P ON N.note_id = 
P.note_id
group by N.note_id



??group by

Re: flink lookup join 关联出多条记录的语义问题

2020-05-09 Thread Benchao Li
Hi,维表关联出来多条数据是符合预期的,维表本来的语义就是可以join出0到多条都有可能,需要看你的数据。

你的主表的流里面note_id会有重复么?没有重复的话,直接group by求count应该是可以的。

867127831 <867127...@qq.com> 于2020年5月9日周六 下午7:10写道:

> Hi, 
>
>
> 在使用flink做lookup join时,如果左表的一条记录关联出右表的多条记录,这个时候该怎么处理? 比如有如下两个表:
>
>
> 主表(笔记表):note(note_id varchar)
> 维表(图片表):picture(pic_id varchar, note_id varchar)
>
>
> 一篇笔记会有多张图片,所以一条note记录对应了多条picture记录,现在要实时统计出每一个note有多少张picture, 我的sql是这样的:
>
>
> select
>   N.note_id as note_id,
>   COUNT(P.pic_id) AS img_count 
> from note N
> LEFT JOIN picture FOR SYSTEM_TIME AS OF N.proc_time AS P ON N.note_id =
> P.note_id
> group by N.note_id
>
>
>
> 如果不使用group by语法,有没有其它途径实现这个目的呢?



-- 

Benchao Li
School of Electronics Engineering and Computer Science, Peking University
Tel:+86-15650713730
Email: libenc...@gmail.com; libenc...@pku.edu.cn


?????? flink lookup join ????????????????????????

2020-05-09 Thread 867127831
??note_id??binlog??note_id??
??note_id





--  --
??: "Benchao Li"

Re: flink lookup join 关联出多条记录的语义问题

2020-05-09 Thread Benchao Li
那这样可能的确是不太好处理了,或者可以把维表改成:
> 维表(图片表):picture(pic_count count, note_id varchar)

纯SQL的方法我没有想到更好的办法。

867127831 <867127...@qq.com> 于2020年5月9日周六 下午8:21写道:

> 你好,我的主表流中note_id是会有重复的,比如我的主表是来自于binlog,这个note_id对应的记录中任何一个字段的变更
> ,都会有一条对应于这个note_id的消息进入到主流中。
>
>
>
>
>
> -- 原始邮件 --
> 发件人: "Benchao Li" 发送时间: 2020年5月9日(星期六) 晚上7:36
> 收件人: "user-zh"
> 主题: Re: flink lookup join 关联出多条记录的语义问题
>
>
>
> Hi,维表关联出来多条数据是符合预期的,维表本来的语义就是可以join出0到多条都有可能,需要看你的数据。
>
> 你的主表的流里面note_id会有重复么?没有重复的话,直接group by求count应该是可以的。
>
> 867127831 <867127...@qq.com> 于2020年5月9日周六 下午7:10写道:
>
> > Hi, 
> >
> >
> > 在使用flink做lookup join时,如果左表的一条记录关联出右表的多条记录,这个时候该怎么处理? 比如有如下两个表:
> >
> >
> > 主表(笔记表):note(note_id varchar)
> > 维表(图片表):picture(pic_id varchar, note_id varchar)
> >
> >
> > 一篇笔记会有多张图片,所以一条note记录对应了多条picture记录,现在要实时统计出每一个note有多少张picture,
> 我的sql是这样的:
> >
> >
> > select
> >   N.note_id as note_id,
> >   COUNT(P.pic_id) AS img_count 
> > from note N
> > LEFT JOIN picture FOR SYSTEM_TIME AS OF N.proc_time AS P ON N.note_id
> =
> > P.note_id
> > group by N.note_id
> >
> >
> >
> > 如果不使用group by语法,有没有其它途径实现这个目的呢?
>
>
>
> --
>
> Benchao Li
> School of Electronics Engineering and Computer Science, Peking University
> Tel:+86-15650713730
> Email: libenc...@gmail.com; libenc...@pku.edu.cn



-- 

Benchao Li
School of Electronics Engineering and Computer Science, Peking University
Tel:+86-15650713730
Email: libenc...@gmail.com; libenc...@pku.edu.cn


Re: flink lookup join 关联出多条记录的语义问题

2020-05-09 Thread Jark Wu
Hi,

这种情况你可以先对主表根据主键(note_id)去重,然后再维表 join,然后再 count。
去重语法可以看这个文档:
https://ci.apache.org/projects/flink/flink-docs-master/zh/dev/table/sql/queries.html#%E5%8E%BB%E9%87%8D

Best,
Jark

On Sat, 9 May 2020 at 20:34, Benchao Li  wrote:

> 那这样可能的确是不太好处理了,或者可以把维表改成:
> > 维表(图片表):picture(pic_count count, note_id varchar)
>
> 纯SQL的方法我没有想到更好的办法。
>
> 867127831 <867127...@qq.com> 于2020年5月9日周六 下午8:21写道:
>
> > 你好,我的主表流中note_id是会有重复的,比如我的主表是来自于binlog,这个note_id对应的记录中任何一个字段的变更
> > ,都会有一条对应于这个note_id的消息进入到主流中。
> >
> >
> >
> >
> >
> > -- 原始邮件 --
> > 发件人: "Benchao Li" > 发送时间: 2020年5月9日(星期六) 晚上7:36
> > 收件人: "user-zh" >
> > 主题: Re: flink lookup join 关联出多条记录的语义问题
> >
> >
> >
> > Hi,维表关联出来多条数据是符合预期的,维表本来的语义就是可以join出0到多条都有可能,需要看你的数据。
> >
> > 你的主表的流里面note_id会有重复么?没有重复的话,直接group by求count应该是可以的。
> >
> > 867127831 <867127...@qq.com> 于2020年5月9日周六 下午7:10写道:
> >
> > > Hi, 
> > >
> > >
> > > 在使用flink做lookup join时,如果左表的一条记录关联出右表的多条记录,这个时候该怎么处理? 比如有如下两个表:
> > >
> > >
> > > 主表(笔记表):note(note_id varchar)
> > > 维表(图片表):picture(pic_id varchar, note_id varchar)
> > >
> > >
> > > 一篇笔记会有多张图片,所以一条note记录对应了多条picture记录,现在要实时统计出每一个note有多少张picture,
> > 我的sql是这样的:
> > >
> > >
> > > select
> > >   N.note_id as note_id,
> > >   COUNT(P.pic_id) AS img_count 
> > > from note N
> > > LEFT JOIN picture FOR SYSTEM_TIME AS OF N.proc_time AS P ON
> N.note_id
> > =
> > > P.note_id
> > > group by N.note_id
> > >
> > >
> > >
> > > 如果不使用group by语法,有没有其它途径实现这个目的呢?
> >
> >
> >
> > --
> >
> > Benchao Li
> > School of Electronics Engineering and Computer Science, Peking University
> > Tel:+86-15650713730
> > Email: libenc...@gmail.com; libenc...@pku.edu.cn
>
>
>
> --
>
> Benchao Li
> School of Electronics Engineering and Computer Science, Peking University
> Tel:+86-15650713730
> Email: libenc...@gmail.com; libenc...@pku.edu.cn
>


Re: flink lookup join 关联出多条记录的语义问题

2020-05-09 Thread Leonard Xu
Hi,
binlog中相同的note_id要取最新的note_id来和维表join吗?如果是可以用duplication 写法[1]


Best,
Leonard Xu
[1]https://ci.apache.org/projects/flink/flink-docs-master/dev/table/sql/queries.html#deduplication
 


> 在 2020年5月9日,20:33,Benchao Li  写道:
> 
> 那这样可能的确是不太好处理了,或者可以把维表改成:
>> 维表(图片表):picture(pic_count count, note_id varchar)
> 
> 纯SQL的方法我没有想到更好的办法。
> 
> 867127831 <867127...@qq.com> 于2020年5月9日周六 下午8:21写道:
> 
>> 你好,我的主表流中note_id是会有重复的,比如我的主表是来自于binlog,这个note_id对应的记录中任何一个字段的变更
>> ,都会有一条对应于这个note_id的消息进入到主流中。
>> 
>> 
>> 
>> 
>> 
>> -- 原始邮件 --
>> 发件人: "Benchao Li"> 发送时间: 2020年5月9日(星期六) 晚上7:36
>> 收件人: "user-zh"> 
>> 主题: Re: flink lookup join 关联出多条记录的语义问题
>> 
>> 
>> 
>> Hi,维表关联出来多条数据是符合预期的,维表本来的语义就是可以join出0到多条都有可能,需要看你的数据。
>> 
>> 你的主表的流里面note_id会有重复么?没有重复的话,直接group by求count应该是可以的。
>> 
>> 867127831 <867127...@qq.com> 于2020年5月9日周六 下午7:10写道:
>> 
>> > Hi, 
>> >
>> >
>> > 在使用flink做lookup join时,如果左表的一条记录关联出右表的多条记录,这个时候该怎么处理? 比如有如下两个表:
>> >
>> >
>> > 主表(笔记表):note(note_id varchar)
>> > 维表(图片表):picture(pic_id varchar, note_id varchar)
>> >
>> >
>> > 一篇笔记会有多张图片,所以一条note记录对应了多条picture记录,现在要实时统计出每一个note有多少张picture,
>> 我的sql是这样的:
>> >
>> >
>> > select
>> >   N.note_id as note_id,
>> >   COUNT(P.pic_id) AS img_count 
>> > from note N
>> > LEFT JOIN picture FOR SYSTEM_TIME AS OF N.proc_time AS P ON N.note_id
>> =
>> > P.note_id
>> > group by N.note_id
>> >
>> >
>> >
>> > 如果不使用group by语法,有没有其它途径实现这个目的呢?
>> 
>> 
>> 
>> --
>> 
>> Benchao Li
>> School of Electronics Engineering and Computer Science, Peking University
>> Tel:+86-15650713730
>> Email: libenc...@gmail.com; libenc...@pku.edu.cn
> 
> 
> 
> -- 
> 
> Benchao Li
> School of Electronics Engineering and Computer Science, Peking University
> Tel:+86-15650713730
> Email: libenc...@gmail.com; libenc...@pku.edu.cn