依赖 jar 包的坐标
<properties>
<encoding.version>UTF-8</encoding.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
<scala.version>2.11.12</scala.version>
<scala.binary.version>2.11</scala.binary.version>
<hadoop.version>2.7.5</hadoop.version>
<hbase.version>2.1.5</hbase.version>
<phoenix.version>5.0.0-HBase-2.0</phoenix.version>
<hive.version>2.1.1</hive.version>
<flink.version>1.10.3</flink.version>
<log4j.version>1.7.7</log4j.version>
<logback.version>1.1.3</logback.version>
<kafka.version>1.0.0</kafka.version>
<json.version>20190722</json.version>
<fastjson.version>1.2.4</fastjson.version>
<jackson.version>2.10.1</jackson.version>
<mysql.version>5.1.47</mysql.version>
<mongodb-driver.version>3.4.2</mongodb-driver.version>
<jedis.version>2.9.0</jedis.version>
<spring-boot.version>2.1.13.RELEASE</spring-boot.version>
<mybatis-spring.version>2.1.1</mybatis-spring.version>
<lombok.version>1.18.12</lombok.version>
<springfox-version>2.9.2</springfox-version>
<gson.version>2.8.6</gson.version>
<druid.version>1.1.12</druid.version>
<httpclient.version>4.5.12</httpclient.version>
<httpcore.version>4.4.5</httpcore.version>
<httpasyncclient.version>4.1.4</httpasyncclient.version>
<geodesy.version>1.1.3</geodesy.version>
<guava.version>23.0</guava.version>
<scala-maven-plugin.version>4.0.2</scala-maven-plugin.version>
<maven-compiler-plugin.version>3.6.1</maven-compiler-plugin.version>
<maven-assembly-plugin.version>2.6</maven-assembly-plugin.version>
<maven-shade-plugin.version>3.1.1</maven-shade-plugin.version>
</properties>
配置文件 conf.properties
# mysql configuration
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://node03:3306/vehicle_networking?characterEncoding=utf8&useSSL=false
jdbc.user=root
jdbc.password=123456
jdbc.dataSource.size=10
# hive configuration
hive.driver=org.apache.hive.jdbc.HiveDriver
hive.url=jdbc:hive2://node03:10000/itcast_ods
hive.user=root
hive.password=123456
# hdfsUri
hdfsUri=hdfs://node01:8020
#ZK configuration
zookeeper.clientPort=2181
zookeeper.quorum=node01,node02,node03
# kafka configuration
kafka.topic=vehicledata
bootstrap.servers=node01:9092,node02:9092,node03:9092
key.partition.discovery.interval.millis=30000
# mongoDB configuration
mongo.host=node03
mongo.port=27017
mongo.userName=itcast
mongo.password=itcast
mongo.source=itcast
# redis configuration
redis.host=node03
redis.port=6379
redis.password=null
redis.database=0
redis.session.timeout=1000
redis.key.timeout=900
# vehinfo match sleep millionseconds
vehinfo.millionseconds=18000000
ruleinfo.millionseconds=100000
elerules.millionseconds=300000
# gaode Api
gaode.key=f5b76cc61d3d1eaff717afd4bbf6c89d
gaode.address.url=https://restapi.amap.com/v3/geocode/regeo
logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!--http://logback.qos.ch/manual/configuration.html-->
<!--设置日志输出到控制台-->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoder的默认实现类是ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
<encoder>
<pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
</encoder>
</appender>
<!-- name值可以是包名或具体的类名:该包(包括子包)下的类或该类将采用此logger -->
<logger name="cn.itcast.flink" level="INFO" additivity="false">
<appender-ref ref="STDOUT" />
</logger>
<!--设置日志输出为文件-->
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>debug.log</file>
<encoder>
<pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
</encoder>
</appender>
<!--日志输出级别-->
<root level="WARN">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
</configuration>
SourceDataProcess依赖
<repositories>
<repository>
<id>aliyun</id>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</repository>
</repositories>
<dependencies>
<!-- flink 开发环境依赖 start -->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-java</artifactId>
<version>${flink.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-java_2.11</artifactId>
<version>${flink.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-filesystem_2.11</artifactId>
<version>${flink.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-kafka-0.11_2.11</artifactId>
<version>${flink.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-statebackend-rocksdb_2.11</artifactId>
<version>${flink.version}</version>
</dependency>
<!-- flink 开发环境依赖 end -->
<!-- kafka开发环境客户端依赖 -->
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>${kafka.version}</version>
</dependency>
<!-- json解析依赖 -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>${json.version}</version>
</dependency>
<!-- Add the two required logback dependencies -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<!-- Add the log4j -> sfl4j (-> logback) bridge into the classpath
Hadoop is logging to log4j! -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>${log4j.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>${maven-shade-plugin.version}</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<artifactSet>
<excludes>
<exclude>com.google.code.findbugs:jsr305</exclude>
<exclude>org.slf4j:*</exclude>
<exclude>log4j:*</exclude>
</excludes>
</artifactSet>
<filters>
<filter>
<!-- Do not copy the signatures in the META-INF folder.
Otherwise, this might cause SecurityExceptions when using the JAR. -->
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>cn.itcast.MainClass</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>
复杂json字符串
{"batteryAlarm": 0,"carMode": 1,"minVoltageBattery": 3.89,"chargeStatus": 1,"vin": "LS5A3CJC0JF890971","nevChargeSystemTemperatureDtoList": [{"probeTemperatures": [25, 23, 24, 21, 24, 21, 23, 21, 23, 21, 24, 21, 24, 21, 25, 21],"chargeTemperatureProbeNum": 16,"childSystemNum": 1}]}