Apache flink 如何从弗林克直接写出德鲁伊?

Apache flink 如何从弗林克直接写出德鲁伊?,apache-flink,druid,Apache Flink,Druid,我想把数据用弗林克写给德鲁伊。 我知道实现上述场景的宁静,但是我找不到用Java编写的工作项目 如果有人达到上述情况,如果您能指导我如何解决我的问题,我真的很感激 谢谢。假设阿帕奇·弗林克和德鲁伊在本地运行。 你所需要做的就是按照链接中的定义为德鲁伊启用宁静服务器 如果德鲁伊的宁静服务器配置设置正确。以下Spring Boot Java代码和Flink应该允许您使用Http Post方法将数据推送到Druid FlinkDruidApp.java @springboot应用程序 公共类Flink

我想把数据用弗林克写给德鲁伊。 我知道实现上述场景的宁静,但是我找不到用Java编写的工作项目

如果有人达到上述情况,如果您能指导我如何解决我的问题,我真的很感激


谢谢。

假设阿帕奇·弗林克和德鲁伊在本地运行。 你所需要做的就是按照链接中的定义为德鲁伊启用宁静服务器

如果德鲁伊的宁静服务器配置设置正确。以下Spring Boot Java代码Flink应该允许您使用Http Post方法将数据推送到Druid

FlinkDruidApp.java

@springboot应用程序
公共类FlinkDruidApp{
专用静态字符串url=”http://localhost:8200/v1/post/wikipedia";
私有静态rest模板;
私有静态HttpHeaders;
FlinkDruidApp(){
template=新的RestTemplate();
headers=新的HttpHeaders();
setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
headers.setContentType(MediaType.APPLICATION_JSON);
}
公共静态void main(字符串[]args)引发异常{
run(FlinkDruidApp.class,args);
//创建Flink执行环境
ExecutionEnvironment env=ExecutionEnvironment.getExecutionEnvironment();
//定义数据源
数据集数据=env.readTextFile(“/wikiticker-2015-09-12-sampled.json”);
//数据的转换
data.map(x->{
返回httpsPost(x).toString();
}).print();
}
//在Druid中发布数据的http post方法
私有静态响应httpsPost(字符串json){
HttpEntity请求实体=
新的HttpEntity(json、标头);
反应性反应=
模板交换(“http://localhost:8200/v1/post/wikipedia,HttpMethod.POST,requestEntity,
字符串(类);
返回响应;
}
@豆子
公共RestTemplate RestTemplate(){
返回新的RestTemplate();
} 
}
pom.xml


4.0.0
org.springframework.boot
spring启动程序父级
2.1.8.1发布
com.flinkdruid
弗林克德鲁伊
0.0.1-快照
弗林克德鲁伊
弗林克德鲁伊连接
1.8
org.springframework.boot
SpringBootStarterWeb
org.springframework.boot
弹簧靴起动器
org.apache.flink
燧石芯
1.9.0
org.apache.flink
flink-U 2.12
1.9.0
org.springframework.boot
springbootmaven插件
控制台上的输出


@SpringBootApplication
public class FlinkDruidApp {


    private static String url = "http://localhost:8200/v1/post/wikipedia";

    private static RestTemplate template;

    private static HttpHeaders headers;


    FlinkDruidApp() {

        template = new RestTemplate();
        headers = new HttpHeaders();
        headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
        headers.setContentType(MediaType.APPLICATION_JSON);

    }

    public static void main(String[] args) throws Exception {

        SpringApplication.run(FlinkDruidApp.class, args);

        // Creating Flink Execution Environment
        ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();

        //Define data source
        DataSet<String> data = env.readTextFile("/wikiticker-2015-09-12-sampled.json");

        // Trasformation on the data 
        data.map(x -> {

            return httpsPost(x).toString();
        }).print();


    }

    // http post method to post data in Druid
    private static ResponseEntity<String> httpsPost(String json) {

        HttpEntity<String> requestEntity =
                new HttpEntity<>(json, headers);
        ResponseEntity<String> response =
                template.exchange("http://localhost:8200/v1/post/wikipedia", HttpMethod.POST, requestEntity,
                        String.class);

        return response;
    }

    @Bean
    public RestTemplate restTemplate() {
        return new RestTemplate();
    } 

}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.8.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.flinkdruid</groupId>
    <artifactId>FlinkDruid</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>FlinkDruid</name>
    <description>Flink Druid Connection</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-core</artifactId>
            <version>1.9.0</version>
        </dependency>

        <dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-clients_2.12</artifactId>
            <version>1.9.0</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>
<200,{"result":{"received":1,"sent":1}},[Date:"Mon, 23 Sep 2019 13:29:39 GMT", Content-Type:"application/json; charset=UTF-8", Content-Length:"34", Server:"Jetty(9.2.5.v20141112)"]>