Exception in thread "main" java.lang.NoClassDefFoundError: scala/Predef$
at com.sht.flink.AccessLog$.main(AccessLog.scala:5)
at com.sht.flink.AccessLog.main(AccessLog.scala)
Caused by: java.lang.ClassNotFoundException: scala.Predef$
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 2 more
只需要注释掉相关依赖的provided就可以了。 构建过程日志如下:
build.png
maven-shade-plugin打包问题。 Flink uses java Service Provider to discover Source/Sink connector. Without this transformer, you will 100% encoutner "org.apache.flink.table.api.NoMatchingTableFactoryException: Could not find a suitable table factory", which happened on me.
Java项目pom文件:
4.0.0com.dpf.flinkflink-cdc1.0-SNAPSHOTjarFlink Quickstart JobUTF-81.13.11.4.01.2.621.82.11${target.java.version}${target.java.version}2.12.1apache.snapshotsApache Development Snapshot Repositoryhttps://repository.apache.org/content/repositories/snapshots/falsetrueorg.apache.flinkflink-java${flink.version}org.apache.flinkflink-streaming-java_${scala.binary.version}${flink.version}org.apache.flinkflink-clients_${scala.binary.version}${flink.version}org.apache.flinkflink-table-api-java-bridge_${scala.binary.version}${flink.version}org.apache.flinkflink-table-api-scala-bridge_${scala.binary.version}${flink.version}org.apache.flinkflink-table-planner_${scala.binary.version}${flink.version}org.apache.flinkflink-table-planner-blink_${scala.binary.version}${flink.version}org.apache.flinkflink-table-common${flink.version}org.apache.flinkflink-connector-kafka_${scala.binary.version}${flink.version}com.alibaba.ververicaflink-connector-mysql-cdc${cdc.version}org.apache.flinkflink-connector-jdbc_${scala.binary.version}${flink.version}org.apache.flinkflink-walkthrough-common_${scala.binary.version}${flink.version}org.apache.flinkflink-json${flink.version}com.alibabafastjson${fastjson.version}org.apache.logging.log4jlog4j-slf4j-impl${log4j.version}runtimeorg.apache.logging.log4jlog4j-api${log4j.version}runtimeorg.apache.logging.log4jlog4j-core${log4j.version}runtimeorg.apache.maven.pluginsmaven-compiler-plugin3.1${target.java.version}${target.java.version}org.apache.maven.pluginsmaven-shade-plugin3.1.1packageshadeorg.apache.flink:force-shadingcom.google.code.findbugs:jsr305org.slf4j:*org.apache.logging.log4j:**:*META-INF/*.SFMETA-INF/*.DSAMETA-INF/*.RSAcom.dpf.flink.StreamingJoborg.eclipse.m2elifecycle-mapping1.0.0org.apache.maven.pluginsmaven-shade-plugin[3.1.1,)shadeorg.apache.maven.pluginsmaven-compiler-plugin[3.1,)testCompilecompile
Scala项目pom文件:
4.0.0com.sht.flinkflink-sql1.0-SNAPSHOTjarFlink Quickstart Jobapache.snapshotsApache Development Snapshot Repositoryhttps://repository.apache.org/content/repositories/snapshots/falsetrueUTF-81.13.11.82.112.11.122.12.1org.apache.flinkflink-scala_${scala.binary.version}${flink.version}providedorg.apache.flinkflink-streaming-scala_${scala.binary.version}${flink.version}providedorg.apache.flinkflink-clients_${scala.binary.version}${flink.version}providedorg.scala-langscala-library${scala.version}org.apache.logging.log4jlog4j-slf4j-impl${log4j.version}runtimeorg.apache.logging.log4jlog4j-api${log4j.version}runtimeorg.apache.logging.log4jlog4j-core${log4j.version}runtimeorg.apache.maven.pluginsmaven-shade-plugin3.1.1packageshadeorg.apache.flink:force-shadingcom.google.code.findbugs:jsr305org.slf4j:*org.apache.logging.log4j:**:*META-INF/*.SFMETA-INF/*.DSAMETA-INF/*.RSAcom.sht.flink.StreamingJoborg.apache.maven.pluginsmaven-compiler-plugin3.1${target.java.version}${target.java.version}net.alchim31.mavenscala-maven-plugin3.2.2compiletestCompile-nobootcp-target:jvm-${target.java.version}org.apache.maven.pluginsmaven-eclipse-plugin2.8trueorg.scala-ide.sdt.core.scalanatureorg.eclipse.jdt.core.javanatureorg.scala-ide.sdt.core.scalabuilderorg.scala-ide.sdt.launching.SCALA_CONTAINERorg.eclipse.jdt.launching.JRE_CONTAINERorg.scala-lang:scala-libraryorg.scala-lang:scala-compiler**/*.scala**/*.javaorg.codehaus.mojobuild-helper-maven-plugin1.7add-sourcegenerate-sourcesadd-sourcesrc/main/scalaadd-test-sourcegenerate-test-sourcesadd-test-sourcesrc/test/scala
Description:插入大量测试数据
use xmpl;
drop procedure if exists mockup_test_data_sp;
create procedure mockup_test_data_sp(
in number_of_records int
)
begin
declare cnt int;
declare name varch
MYSQL的随机抽取实现方法。举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1。但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描。但是在MYSQL 3.23版本中,