首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到org.apache.flink.streaming.api.scala.DataStream的Apache类文件

找不到org.apache.flink.streaming.api.scala.DataStream的Apache类文件
EN

Stack Overflow用户
提问于 2018-03-24 13:48:28
回答 1查看 3.3K关注 0票数 4

使用Apache版本1.3.2和Cassandra 3.11,我编写了一个简单的代码,使用Apache连接器将数据写入Cassandra。以下是守则:

代码语言:javascript
复制
final Collection<String> collection = new ArrayList<>(50);
        for (int i = 1; i <= 50; ++i) {
            collection.add("element " + i);
        }
        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

        DataStream<Tuple2<UUID, String>> dataStream = env
                .fromCollection(collection)
                .map(new MapFunction<String, Tuple2<UUID, String>>() {

                    final String mapped = " mapped ";
                    String[] splitted;

                    @Override
                    public Tuple2<UUID, String> map(String s) throws Exception {
                        splitted = s.split("\\s+");
                        return new Tuple2(
                                UUID.randomUUID(),
                                splitted[0] + mapped + splitted[1]
                        );
                    }
                });
        dataStream.print();
        CassandraSink.addSink(dataStream)
                .setQuery("INSERT INTO test.phases (id, text) values (?, ?);")
                .setHost("127.0.0.1")
                .build();
        env.execute();

为了使用Apache 1.4.2 (1.4.x)运行相同的代码,我得到了以下错误:

代码语言:javascript
复制
Error:(36, 22) java: cannot access org.apache.flink.streaming.api.scala.DataStream
  class file for org.apache.flink.streaming.api.scala.DataStream not found

在线上

代码语言:javascript
复制
CassandraSink.addSink(dataStream)
                    .setQuery("INSERT INTO test.phases (id, text) values (?, ?);")
                    .setHost("127.0.0.1")
                    .build();

我认为Apache 1.4.2中有一些依赖项更改,这会导致问题。

我使用代码中导入的下列依赖项:

代码语言:javascript
复制
import org.apache.flink.api.common.functions.MapFunction;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.connectors.cassandra.CassandraSink;

如何解决Apache版本1.4.2中的错误?

更新:在FLink1.3.2中,类org.apache.flink.streaming.api.scala.DataStream<T>在Java中,但是在1.4.2版本中没有这样的类。请参阅这里

我为Cassandra连接器尝试了Flink 1.4.2文档中的代码示例,但我得到了相同的错误,但该示例适用于Flink 1.3.2依赖项!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-24 14:11:23

除了所有其他依赖项外,请确保您有Flink Scala依赖项:

Maven

代码语言:javascript
复制
<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-streaming-scala_2.11</artifactId>
  <version>1.4.2</version>
</dependency>

Gradle

代码语言:javascript
复制
dependencies {
    compile group: 'org.apache.flink', name: 'flink-streaming-scala_2.11', version: '1.4.2'
..
}

我设法让您的示例处理了以下依赖关系:

代码语言:javascript
复制
import org.apache.flink.api.common.functions.MapFunction;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.connectors.cassandra.CassandraSink;

Maven

代码语言:javascript
复制
<dependencies>

    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-java</artifactId>
        <version>1.4.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-streaming-java_2.11</artifactId>
        <version>1.4.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-streaming-scala_2.11</artifactId>
        <version>1.4.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-clients_2.11</artifactId>
        <version>1.4.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-connector-cassandra_2.11</artifactId>
        <version>1.4.2</version>
    </dependency>

</dependencies>
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49465425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档