Blink 漫谈系列 - HelloWorld-阿里云开发者社区

开发者社区> 阿里云实时计算Flink> 正文
登录阅读全文

Blink 漫谈系列 - HelloWorld

简介:

眼见为实

目前我们概要了解了Blink的强大与宏伟目标(世界一流),但我们相信任何事物的发展都要符合自然规律,一颗小树要长成参天大树要上百年,我们的马老师今天能为亿万人民创造工作,经历近20年,Blink也一样其宏伟目标的实现,需要时间的沉淀,智慧的积累。 用户在给予Blink成长时间的同时也应该体会到Blink亲民的点滴,本篇以HelloWorld为例,带新用户走进Blink。
 

IDE 写SQL

本篇要写一个最简单的Blink SQL,核心功能是一个同步数据的功能,就是将数据表Source的数据插入到结果表Sink。
1522976750742-45d19259-2fb2-4f18-8af5-18
 
  • 创建
1522977107896-b5da08a4-7675-43c6-b21c-57
51233de81180b6fb5adb3321c80777db.png
  • 编写SQL
    上一步我们在book目录下面,创建了一job名为book_helloworld,作业类型为BLINK-SQL,运行在blink-1.6.0版本。打开Job开始编写sql,如下:
    --Blink SQL
    --********************************************************************--
    --Author: 
    --CreateTime: 2018-04-06 08:51:33
    --Comment: 请输入业务注释信息
    --********************************************************************--
    
    CREATE TABLE helloWorld_source(
        col_boolean  BOOLEAN,
    	col_tinyint TINYINT,
    	col_smallint SMALLINT,
    	col_int INT,
    	col_bigint BIGINT,
    	col_float FLOAT,
    	col_double DOUBLE,
    	col_decimal DECIMAL,
    	col_date DATE,
    	col_time TIME,
    	col_timestamp TIMESTAMP,
    	col_varchar VARCHAR,
    	col_varbinary VARBINARY
      )WITH(
       type='random'
     ) ;
    
    CREATE TABLE helloWorld_sink(
        col_boolean  BOOLEAN,
    	col_tinyint TINYINT,
    	col_smallint SMALLINT,
    	col_int INT,
    	col_bigint BIGINT,
    	col_float FLOAT,
    	col_double DOUBLE,
    	col_decimal DECIMAL,
    	col_date DATE,
    	col_time TIME,
    	col_timestamp TIMESTAMP,
    	col_varchar VARCHAR,
    	col_varbinary VARBINARY
       )WITH(
        type = 'print'
     ) ;
    
    INSERT INTO helloWorld_sink 
        SELECT 
            col_boolean  ,
    	    col_tinyint ,
    	    col_smallint ,
    	    col_int ,
    	    col_bigint ,
    	    col_float ,
    	    col_double ,
    	    col_decimal ,
    	    col_date ,
    	    col_time ,
    	    col_timestamp ,
    	    col_varchar ,
    	    col_varbinary 
        FROM helloWorld_source;
    
完成上面的书写,我们可以点击【上线】进行资源配置,如下图:
 
1531103993044-e936b825-d832-4ced-9c7e-cb
  • 启动job
    经过上面步骤,我们可以点击 【运维】启动job了,如下步骤:
569b9d71f5e99738775377e47ab394ce.png
 
container log可以看到我们上面的print输出
6a5618e5aa8d8d7dd601bc212fb96735.png
  • We did it.
虽然上面截图花费了一些时间,但是若您按照步骤操作,其实3分钟应该能体验上面全部流程,至此Helloword的Blink sql体验结束.

小结

本篇一个简单HelloWorld将新用户带入了Blink的使用中,虽然是最简单的示例,但体现了Blink IDE中60%的操作,并且我们的sql定义中使用了Blink支持的除了Any之外的所有数据类型。同时用户初步看到了blink sql的基础结构 source -> query -> sink. 也就是我们围绕这ANSI-SQL的DDL和DML就可以完成我们的业务job了。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

一套基于Apache Flink构建的一站式、高性能实时大数据处理平台,广泛适用于流式数据处理、离线数据处理、DataLake计算等场景。

官方博客
链接