开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

请问,在sql client中,执行insert into select from job时,如何单

请问,在sql client中,执行insert into select from job时,如何单独设定source和sink阶段的并行度?

展开
收起
游客3oewgrzrf6o5c 2022-07-22 12:08:41 509 0
1 条回答
写回答
取消 提交回答
  • CSDN全栈领域优质创作者,万粉博主;InfoQ签约博主;华为云享专家;华为Iot专家;亚马逊人工智能自动驾驶(大众组)吉尼斯世界纪录获得者

    在SQL Client中,执行INSERT INTO SELECT FROM job语句时,通常无法直接单独设定Source和Sink阶段的并行度。并行度是针对整个查询进行的,而不是针对特定的阶段。

    但是,你可以使用一些技巧来实现类似的效果。以下是一种可能的方法:

    • 创建一个临时表(或者使用现有的表),用于存储从JOB表检索的数据。

    • 使用INSERT INTO语句将数据插入到临时表中。

    • 使用SELECT INTO语句,将临时表中的数据插入到目标表。

    • 在执行INSERT INTO和SELECT INTO语句时,可以使用runs as子句来控制并行度。
      下面是一个示例:
      ```sql
      -- 创建临时表
      CREATE TEMPORARY TABLE temp_job AS SELECT * FROM job;

    -- 将数据插入目标表,并行度为32
    INSERT INTO target_table SELECT * FROM temp_job runs as parallel 32;

    -- 删除临时表
    DROP TABLE temp_job;
    ```
    在这个示例中,我们首先将JOB表的数据插入到一个临时表中。然后,使用INSERT INTO语句将临时表中的数据插入到目标表,并使用runs as子句设置并行度为32。

    请注意,这种方法并不是直接在Source和Sink阶段单独设定并行度,而是通过控制查询的并行度来实现类似的效果。

    2023-07-25 09:21:22
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载