gpt4 book ai didi

java - Apache Flink 错误java.lang.ClassNotFoundException : org. apache.flink.table.sources.TableSource?

转载 作者:行者123 更新时间:2023-11-30 10:18:40 25 4
gpt4 key购买 nike

我正在使用 Apache Flink 编写流媒体服务。我基本上是使用 org.apache.flink.table.sources.CsvTableSource 从 CSV 文件中选取数据。下面是相同的代码:

 StreamTableEnvironment streamTableEnvironment = TableEnvironment
.getTableEnvironment(streamExecutionEnvironment);

CsvTableSource csvTableSource = CsvTableSource.builder().path(pathToCsvFile)
.field("XXX0", Types.SQL_TIMESTAMP).field("XXX1", Types.INT)
.field("XXX2", Types.DECIMAL).field("XXX3", Types.INT).field("XXX4", Types.INT)
.field("XXX9", Types.DECIMAL).field("XXX5", Types.STRING)
.field("XXX6", Types.STRING).field("XXX7", Types.STRING).fieldDelimiter(",").lineDelimiter("\n")
.ignoreFirstLine().ignoreParseErrors().build();

streamTableEnvironment.registerTableSource("metrics_table", csvTableSource);

Table selectedMetricTable = streamTableEnvironment.sqlQuery(getSQLQuery(metricsType, metricsGroupingLevel));

DataStream<Tuple2<Boolean, MetricsTimeSeriesData>> metricStream = streamTableEnvironment
.toRetractStream(selectedMetricTable, MetricsTimeSeriesData.class);

但它给出了以下错误:

Caused by: java.lang.ClassNotFoundException: org.apache.flink.table.sources.TableSource

这里是maven依赖:

        <dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-java</artifactId>
<version>1.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-java_2.11</artifactId>
<version>1.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-clients_2.11</artifactId>
<version>1.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-table_2.11</artifactId>
<version>1.4.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-scala_2.11</artifactId>
<version>1.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-scala_2.11</artifactId>
<version>1.4.0</version>
</dependency>

我可以看到上面类的源定义,但我仍然收到这个错误。请帮忙?

最佳答案

模块 flink-table 没有随 flink 二进制发行版一起提供,因此默认情况下它没有提供给集群。您可以将该依赖项放入集群安装(在 \lib 文件夹中),请参阅 setup 的最后一部分或者您可以将您的工作作为 uber-jar 提交并打包该依赖项,请参阅 here .

关于java - Apache Flink 错误java.lang.ClassNotFoundException : org. apache.flink.table.sources.TableSource?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49123420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com