is this module include a resource management cente r where jars can be chosen 
to provide to create a job



---- 回复的原邮件 ----
| 发件人 | Huajie Wang<[email protected]> |
| 日期 | 2022年10月08日 12:07 |
| 收件人 | [email protected]<[email protected]> |
| 抄送至 | |
| 主题 | Re: [DISCUSS][issue-1477] Add variable management module |
hi 阿穆:
Thank you for the clarification, My question is answered, but now I have
one more concern,
I'm currently using {var} for variables, and I'm worried that one of the
user's parameters includes "{" and "}", e.g :

--password 'mypass{123}abc'

So how do we parse parse this?  How about ${var}



Best,
Huajie Wang



阿穆 <[email protected]> 于2022年10月8日周六 11:36写道:

> Hi, monster, Huajie Wang, Rui Fan:
>
> Thanks for your reply.
>
> I have integrated your replies. I really don't pay much attention to SQL,
> so I will do the following.
>
> 1.Each team has independent variables that do not affect each other and
> are isolated from each other, but the same variable is unique under the
> same team, so you need to specify the team when creating variables (users
> may belong to multiple teams, and the teams of the current user will be
> displayed here for users to choose)
> 2.For Flink jar jobs, there are two ways to pass variables
> - By using placeholders, such as adding --kafka {mykafka} to the args of
> the application, 'mykafka' is the variable code of a variable
> - Search by variable code or variable name. After a variable is selected,
> the parameter transfer method is displayed
> 3.Flink sql will use variables as placeholders, E.g:
>
> CREATE TABLE KafkaTableA (
> &nbsp;&nbsp; `user_id` BIGINT,
> &nbsp;&nbsp; `item_id` BIGINT,
> &nbsp;&nbsp; `type` STRING
> ) WITH (
> &nbsp;&nbsp; 'connector' = 'kafka',
> &nbsp;&nbsp; 'topic' = 'user_behaviorA',
> &nbsp;&nbsp; 'properties.bootstrap.servers' = '{kafka_clusterA}',&nbsp; --
> 'kafka_ ClusterA' is the variable code
> &nbsp;&nbsp; 'properties.group.id' = 'testGroupA',
> &nbsp;&nbsp; 'scan.startup.mode' = 'earliest-offset',
> &nbsp; &nbsp;
> CREATE TABLE KafkaTableB (
> &nbsp;&nbsp; `user_id` BIGINT,
> &nbsp;&nbsp; `item_id` BIGINT
> ) WITH (
> &nbsp;&nbsp; 'connector' = 'kafka',
> &nbsp;&nbsp; 'topic' = 'user_behaviorB',
> &nbsp;&nbsp; 'properties.bootstrap.servers' = '{kafka_clusterB}',&nbsp; --
> 'kafka_ ClusterB' is the variable code
> &nbsp;&nbsp; 'properties.group.id' = 'testGroupB',
> &nbsp;&nbsp; 'scan.startup.mode' = 'earliest-offset',
>
> INSERT INTO KafkaTableA SELECT user_id, item_id, '{type}' FROM
> KafkaTableB&nbsp;&nbsp; -- 'type' is the variable code
>
> 4.In the future, we can consider setting some system built-in variables
>
> Best,
> ChunJin Mu
>
> On Fri, Oct 7, 2022 at 8:27 PM Rui Fan <[email protected]&gt; wrote:
>
> &gt; Hi 阿穆:
> &gt;
> &gt; It's a great proposal.
> &gt;
> &gt; For usage scenarios, I strongly recommend support for replacing
> variables
> &gt; in sql. E.g:
> &gt;
> &gt; CREATE TABLE KafkaTable (
> &gt;&nbsp;&nbsp;&nbsp; `user_id` BIGINT,
> &gt;&nbsp;&nbsp;&nbsp; `item_id` BIGINT
> &gt; ) WITH (
> &gt;&nbsp;&nbsp;&nbsp; 'connector' = 'kafka',
> &gt;&nbsp;&nbsp;&nbsp; 'topic' = 'user_behavior',
> &gt;&nbsp;&nbsp;&nbsp; 'properties.bootstrap.servers' = '{kafka_clusterA}',
> &gt;&nbsp;&nbsp;&nbsp; 'properties.group.id' = 'testGroup',
> &gt;&nbsp;&nbsp;&nbsp; 'scan.startup.mode' = 'earliest-offset',
> &gt;&nbsp;&nbsp;&nbsp; 'format' = 'csv'
> &gt; )
> &gt;
> &gt; Note: 'properties.bootstrap.servers' = '{kafka_clusterA}',
> &gt;
> &gt; For variable management, I have some question:
> &gt;
> &gt; 1. Is the parameter used within the team? If all teams use a common
> &gt; parameter, it
> &gt; needs to be defined for each team, right?
> &gt; 2. Which users can modify variables? Can all users modify all
> variables of
> &gt; their team?
> &gt; After the variable is modified incorrectly, many jobs may be
> affected. So I
> &gt; suggest that
> &gt; only team admin or system admin have permission to modify, add and
> delete
> &gt; variables.
> &gt;
> &gt; Best
> &gt; fanrui
>
>
> On Fri, Oct 7, 2022 at 7:01 PM Huajie Wang <[email protected]&gt; wrote:
>
> &gt; hi 阿穆:
> &gt;
> &gt;
> &gt; Thanks for starting a very useful discussion, I have a some questions:
> &gt;
> &gt;
> &gt; 1. The access boundary problem of variable management, is this all
> &gt; people in the platform can access these variables( no matter who
> &gt; defines) or that only team members can be access these variables.
> &gt;
> &gt; 2. There are two usage scenarios for variables that I know of, one is
> &gt; in the entry parameter of main, and the other is in flinksql. Are both
> &gt; supported, or only supported main entry ?
> &gt;
> &gt; about first question, my opinion:
> &gt;
> &gt; 1. The variable management is associated with the team. After the user
> &gt; logs in to the system, he must select a team (a user can belong to one
> &gt; or more teams), The variable belongs to a team
> &gt;
> &gt; 2. All resources between teams are isolated, which means that
> &gt; variables are also isolated. In short, members of a team can use and
> &gt; define these variables, which are invisible to other members, and
> &gt; other members cannot use these variables.
> &gt;
> &gt;
> &gt;
> &gt; Welcome to your views
> &gt;
> &gt;
> &gt; Best,
> &gt; Huajie Wang
> &gt;
> &gt;
> &gt;
> &gt;
> &gt; 陈卓宇 <[email protected]&gt; 于2022年10月7日周五 14:18写道:
>
> &gt; &gt; Is it possible to do this variable support in sql as well
> &gt; &gt;
> &gt; &gt; 阿穆 <[email protected]&gt; 于2022年10月7日周五 13:54写道:
> &gt; &gt;
> &gt; &gt; &gt; Hi guys,
> &gt; &gt; &gt;
> &gt; &gt; &gt;
> &gt; &gt; &gt; I want to start a discussion about the variable management
> module. Please
> &gt; &gt; &gt; see this issue issue-1477.
> &gt; &gt; &gt;
> &gt; &gt; &gt;
> &gt; &gt; &gt; Background:
> &gt; &gt; &gt;
> &gt; &gt; &gt;
> &gt; &gt; &gt; In the actual production environment, Flink jobs are
> generally complex,
> &gt; &gt; &gt; and usually require multiple external components. For
> example, Flink jobs
> &gt; &gt; &gt; consume data from Kafka, then connect external components
> such as HBase
> &gt; &gt; or
> &gt; &gt; &gt; Redis to obtain additional business information, and then
> write it to the
> &gt; &gt; &gt; downstream external components. There are the following
> problems:
> &gt; &gt; &gt;
> &gt; &gt; &gt;
> &gt; &gt; &gt; 1. The connection information of external components, such
> as IP, port
> &gt; &gt; and
> &gt; &gt; &gt; user password, needs to be configured in the application
> args and
> &gt; &gt; &gt; transferred to the Flink job, so that the connection
> information of
> &gt; &gt; &gt; external components is distributed in multiple
> applications. Once the
> &gt; &gt; &gt; connection information of external components changes, many
> application
> &gt; &gt; &gt; args parameters need to be modified, which will lead to
> high operation
> &gt; &gt; and
> &gt; &gt; &gt; maintenance costs.
> &gt; &gt; &gt; 2. There are many people in the team developing real-time
> computing jobs.
> &gt; &gt; &gt; There is no uniform specification for the connection
> information of the
> &gt; &gt; &gt; external components passed to the job, resulting in
> different parameter
> &gt; &gt; &gt; names of the same component. This is difficult to count
> which external
> &gt; &gt; &gt; components are dependent.
> &gt; &gt; &gt; 3. In production practice, there are usually multiple sets
> of
> &gt; &gt; &gt; environments, such as test environment and production
> environment. It is
> &gt; &gt; &gt; not intuitive to judge whether a component belongs to a
> test environment
> &gt; &gt; or
> &gt; &gt; &gt; a production environment simply through IP and ports. Even
> if it can be
> &gt; &gt; &gt; judged, there are some omissions. In this way, the
> connection information
> &gt; &gt; &gt; online to the production environment may be external
> components of the
> &gt; &gt; test
> &gt; &gt; &gt; environment, or components of the production environment are
> &gt; &gt; inadvertently
> &gt; &gt; &gt; configured during testing, leading to production failures.
> &gt; &gt; &gt;
> &gt; &gt; &gt;
> &gt; &gt; &gt; Proposal:
> &gt; &gt; &gt;
> &gt; &gt; &gt;
> &gt; &gt; &gt; 1. Create a unified module to manage variables. Users can
> define their
> &gt; &gt; own
> &gt; &gt; &gt; variables in this module. Variable information includes
> variable code
> &gt; &gt; &gt; (passed to Flink program as parameter name), variable
> value, variable
> &gt; name,
> &gt; &gt; &gt; variable description, and which applications depend on
> &gt; &gt; &gt; 2. In the same Team module, the variable code or variable
> name is unique
> &gt; &gt; &gt; - By using placeholders, such as adding -- kafka {mykafka}
> to the args of
> &gt; &gt; &gt; the application, mykafka is the variable code of a variable
> &gt; &gt; &gt; - Search by variable code or variable name. After a
> variable is selected,
> &gt; &gt; &gt; the parameter transfer method is displayed
> &gt; &gt; &gt;
> &gt; &gt; &gt;
> &gt; &gt; &gt;
> &gt; &gt; &gt; If you have any suggestions, welcome to participate in the
> discussion on
> &gt; &gt; &gt; the mail list or issue, I look forward to your feedback.
> &gt; &gt; &gt;
> &gt; &gt; &gt;
> &gt; &gt; &gt; Best wishes
> &gt; &gt;

Reply via email to