我试图使用spark streaming api从kafka读取json数据,当我这样做时,它会抛出java.lang.nosuchmethoderror:net.jpountz.lz4.lz4BlockinPutStream.init异常。堆栈跟踪是-
java.lang.NoSuchMethodError: net.jpountz.lz4.LZ4BlockInputStream.<init>(Ljava/io/InputStream;Z)V
at org.apache.spark.io.LZ4CompressionCodec.compressedInputStream(CompressionCodec.scala:122)
at org.apache.spark.serializer.SerializerManager.wrapForCompression(SerializerManager.scala:163)
at org.apache.spark.serializer.SerializerManager.wrapStream(SerializerManager.scala:124)
at org.apache.spark.shuffle.BlockStoreShuffleReader$$anonfun$3.apply(BlockStoreShuffleReader.scala:50)
at org.apache.spark.shuffle.BlockStoreShuffleReader$$anonfun$3.apply(BlockStoreShuffleReader.scala:50)
at org.apache.spark.storage.ShuffleBlockFetcherIterator.next(ShuffleBlockFetcherIterator.scala:421)
at org.apache.spark.storage.ShuffleBlockFetcherIterator.next(ShuffleBlockFetcherIterator.scala:61)
at scala.collection.Iterator$$anon$12.nextCur(Iterator.scala:435)
at scala.collection.Iterator$$anon$12.hasNext(Iterator.scala:441)
at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:409)
at org.apache.spark.util.CompletionIterator.hasNext(CompletionIterator.scala:30)
at org.apache.spark.InterruptibleIterator.hasNext(InterruptibleIterator.scala:37)
at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:409)
at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage3.agg_doAggregateWithKeys_0$(Unknown Source)
at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage3.processNext(Unknown Source)
at org.apache.spark.sql.execution.BufferedRowIterator.hasNext(BufferedRowIterator.java:43)
at org.apache.spark.sql.execution.WholeStageCodegenExec$$anonfun$10$$anon$1.hasNext(WholeStageCodegenExec.scala:614)
at org.apache.spark.sql.execution.streaming.StateStoreRestoreExec$$anonfun$doExecute$1.apply(statefulOperators.scala:217)
at org.apache.spark.sql.execution.streaming.StateStoreRestoreExec$$anonfun$doExecute$1.apply(statefulOperators.scala:215)
at org.apache.spark.sql.execution.streaming.state.package$StateStoreOps$$anonfun$1.apply(package.scala:67)
at org.apache.spark.sql.execution.streaming.state.package$StateStoreOps$$anonfun$1.apply(package.scala:62)
at org.apache.spark.sql.execution.streaming.state.StateStoreRDD.compute(StateStoreRDD.scala:78)
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)
at org.apache.spark.rdd.RDD.iterator(RDD.scala:288)
at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:38)
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)
at org.apache.spark.rdd.RDD.iterator(RDD.scala:288)
at org.apache.spark.sql.execution.streaming.state.StateStoreRDD.compute(StateStoreRDD.scala:77)
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)
at org.apache.spark.rdd.RDD.iterator(RDD.scala:288)
at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:38)
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)
at org.apache.spark.rdd.RDD.iterator(RDD.scala:288)
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
at org.apache.spark.scheduler.Task.run(Task.scala:109)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:345)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
<!-- https://mvnrepository.com/artifact/net.jpountz.lz4/lz4 -->
<dependency>
<groupId>net.jpountz.lz4</groupId>
<artifactId>lz4</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.3.1</version>
<exclusions>
<exclusion>
<artifactId>lz4-java</artifactId>
<groupId>org.lz4</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql-kafka-0-10_2.11</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka -->
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.11</artifactId>
<version>1.1.0</version>
</dependency>
public static void main( String[] args ) throws Exception
{
if( args.length < 3 )
{
System.err
.println("Usage: JavaStructuredKafkaWordCount <bootstrap-servers> " + "<subscribe-type> <topics>");
System.exit(1);
}
String bootstrapServers = args[0];
String subscribeType = args[1];
String topics = args[2];
SparkSession spark = SparkSession.builder().appName("JavaStructuredKafkaWordCount")
.config("spark.master", "local").getOrCreate();
// Create DataSet representing the stream of input lines from kafka
Dataset<String> df = spark.readStream().format("kafka").option("kafka.bootstrap.servers", bootstrapServers)
.option(subscribeType, topics).load().selectExpr("CAST(value AS STRING)").as(Encoders.STRING());
Dataset<Person> stringMein = df.map(
(MapFunction<String, Person>) row -> JSONToPerson.parseJsonToPerson(row),
Encoders.bean(Person.class));
//stringMein.printSchema();
// Generate running word count
Dataset<Row> cardDF = stringMein.groupBy("age").count();
// Start running the query that prints the running counts to the console
StreamingQuery query = cardDF.writeStream().outputMode("update").format("console").start();
query.awaitTermination();
}
更好的选择是,在初始化SparkSession时将这一行添加到Spark conf中。
.config("spark.io.compression.codec", "snappy")
另一个选择是可以在build.sbt中为net.jpountz.lz4添加排除规则。
lazy val excludeJars = ExclusionRule(organization = "net.jpountz.lz4", name = "lz4")
我是Java新手,我试图从键盘读取数据,但我遇到了一个异常,我不知道为什么以及如何修复它。 导入java。util。扫描仪; 免责声明: [roger@archroger~]$java测试 3个 输入一个整数:3 无效的数据类型。 异常在线程"main"java.util.NoSuchElement异常:找不到行 在爪哇。util。扫描仪。nextLine(Scanner.java:1540) 在
我正在使用Maven创建一个Selenium项目,其中我试图从Excel文件(xlsx)中读取“username”和“password”。 这是密码- 我得到的错误在这一行: Driver.FindElement(By.XPath(“//input[@type='text']”)).SendKeys(Sheet.GetRow(i).GetCell(j).GetStringCellValue());
我正在运行Strom集群,其中2个主管和1个灵气正在运行。我在哪里读Kafka与主题ID"topic1"。但在UI上我得到以下错误 JAVARuntimeException:java。lang.RuntimeException:org。阿帕奇。动物园管理员。KeeperException$NoNodeException:KeeperErrorCode=storm中/brokers/topic/to
我在尝试运行此程序时遇到以下异常。我正在使用在线编译器。甚至在读取字符串后尝试使用nextLine(),但没有成功。 我得到了以下异常:输入客户名称:在线程“main”java中输入客户id异常。util。NoSuchElementException:在java中找不到行。util。扫描仪。nextLine(Scanner.java:1585)位于Main。main(main.java:12)
当第一个单元格为空时,获取空指针异常。我已经搜索了很多博客,但找不到任何解决方案,请任何人帮助我与代码。
错误:javax.persistence.persistenceException:org.hibernate.exception.genericJDBcException:无法执行查询org.hibernate.exception.genericJDBcException:无法执行查询[SQL:335544721,HY000]org.firebirdsql.jdbc.fbsqlException