问题标签 [apache-spark-2.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
110 浏览

java - 带有节俭服务器的 StreamWritter

我正在尝试通过 spark2 流处理一些数据并将它们保存到 hdfs。在流运行时,我想通过简单的选择通过节俭服务器读取存储的数据:

但我得到了这个例外

错误:org.apache.spark.SparkException:作业因阶段失败而中止:阶段 5.0 中的任务 0 失败 1 次,最近一次失败:阶段 5.0 中丢失任务 0.0(TID 6,本地主机):java.lang.RuntimeException:hdfs ://5b6b8bf723a2:9000/archiveData/parquets/efc44dd4-1792-4b6d-b0f2-120818047b1b 不是 parquet.hadoop.ParquetFileReader.readFooter(ParquetFileReader.java:412) 中 parquet.hadoop.ParquetFileReader 的 Parquet 文件(太小) .readFooter(ParquetFileReader.java:385) at parquet.hadoop.ParquetFileReader.readFooter(ParquetFileReader.java:371) at org.apache.hadoop.hive.ql.io.parquet.read.ParquetRecordReaderWrapper.getSplit(ParquetRecordReaderWrapper.java:252 ) 在 org.apache.hadoop.hive.ql.io.parquet.read.ParquetRecordReaderWrapper.(ParquetRecordReaderWrapper.java:99) 在 org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat.getRecordReader(MapredParquetInputFormat.java) 的 org.apache.hadoop.hive.ql.io.parquet.read.ParquetRecordReaderWrapper.(ParquetRecordReaderWrapper.java:85) :72) 在 org.apache.spark.rdd.HadoopRDD$$anon$1.(HadoopRDD.scala:246) 在 org.apache.spark.rdd.HadoopRDD.compute(HadoopRDD.scala:102) 在 org.apache.spark .rdd.RDD.iterator(RDD.scala:283)(RDD.scala:319) 在 org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:319)scala:38) 在 org.apache.spark。 rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:38) at org.apache.spark.rdd.RDD.iterator(RDD.scala:283)(RDD.scala:319) at org.apache.spark.rdd.RDD.computeOrReadCheckpoint (RDD.scala:319)scala:38) 在 org.apache.spark.rdd.MapPartitionsRDD。在 org.apache.spark.rdd.RDD.iterator(RDD.scala:283)(RDD.scala:319) 在 org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala) 计算(MapPartitionsRDD.scala:38) :319)scala:38) 在 org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:79) 在 org.apache.spark.scheduler.Task.run(Task.scala:85)ShuffleMapTask.scala:47 ) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.lang.Thread.run(Thread.java:745) 或 $Worker.run(ThreadPoolExecutor.java:617)apache.spark.scheduler.Task.run(Task.scala:85)ShuffleMapTask.scala:47) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.lang.Thread.run(Thread. java:745) 或$Worker.run(ThreadPoolExecutor.java:617)apache.spark.scheduler.Task.run(Task.scala:85)ShuffleMapTask.scala:47) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.lang.Thread.run(Thread. java:745) 或$Worker.run(ThreadPoolExecutor.java:617)

我的假设是 spark 将在批处理开始时创建一个空的镶木地板文件,并在批处理结束时填充它,并且我正在select通过存档文件运行 A,但是一个是空的,因为实际批处理尚未完成.

简单的火花流示例(Thread.sleep 用于模拟转换延迟)

有没有办法让我避免这种异常,并且使用 thrift 服务器只获取完成的文件?

0 投票
1 回答
498 浏览

scala - Spark 2.0中RDD与数据集的概念差异?

我读

在 Spark 1.6 中,Dataset 似乎更像是一个改进的 DataFrame(“概念上 Spark DataSet 只是一个具有额外类型安全性的 DataFrame”)。在 Spark 2.0 中,它看起来更像是改进的 RDD。前者有一个关系模型,后者更像一个列表。对于 Spark 1.6,据说 Datasets 是 DataFrames 的扩展,而在 Spark 2.0 中,DataFrames 只是包含 Type[Row]的 Datasets,使 DataFrames 成为 Datasets 的特例,使 DataFrames 成为 Datasets 的特例。现在我有点困惑。Spark 2.0 中的数据集在概念上更像 RDD 还是 DataFrame?Spark 2.0 中 RDD 与数据集之间的概念区别是什么?

0 投票
4 回答
1625 浏览

join - Spark 2.0.0 错误:PartitioningCollection 要求其所有分区具有相同的 numPartitions

我在 Spark 中将一些 DataFrames 连接在一起,但我不断收到以下错误:

这似乎发生在我将两个 DataFrame 连接在一起之后,每个 DataFrame 本身看起来都相当合理,但是在加入它们之后,如果我尝试从连接的 DataFrame 中获取一行,我会收到这个错误。我真的只是想了解为什么会出现此错误或其背后的含义,因为我似乎找不到任何文档。

以下调用导致此异常:

但我当然可以打电话

我还尝试在加入之前和加入之前使用或重新分区,加入之后DataFrames重新Dataset.repartition(numPartitions)分区,但似乎没有任何影响该错误。经过一些粗略的谷歌搜索后,我无法找到其他人得到错误的参考......Dataset.coalesce(numParitions)dataFrame1dataFrame2resultDataFrame

0 投票
1 回答
1563 浏览

apache-spark - 将流数据集附加到 Spark 中的批处理数据集

我们在 Spark 中有一个用例,我们希望将历史数据从数据库加载到 Spark,并继续向 Spark 添加新的流数据,然后我们可以对整个最新数据集进行分析。

据我所知,Spark SQL 和 Spark Streaming 都不能将历史数据与流数据结合起来。然后我发现了 Spark 2.0 中的 Structured Streaming,它似乎是为这个问题而构建的。但是经过一些实验,我仍然无法弄清楚。这是我的代码:

我收到错误“org.apache.spark.sql.AnalysisException:不支持流和批处理 DataFrames/Datasets 之间的联合;” 当我联合()两个数据集时。

有人可以帮我吗?我会走错方向吗?

0 投票
1 回答
3664 浏览

apache-spark - 值 toDF 不是 org.apache.spark.rdd.RDD[(Long, org.apache.spark.ml.linalg.Vector)] 的成员

在 SPARK 2.0 中使用 SCALA 将预 LDA 转换转换为数据帧时出现编译错误。引发错误的具体代码如下:

完整的编译错误是:

这是完整的代码:

我认为这与代码的导入部分中的冲突有关。感谢任何帮助。

0 投票
0 回答
545 浏览

java - Spark 2.0 按空值分组

致力于将一些查询从 Spark 1.5 迁移到 Spark 2.0

查询如下:

首先,我知道在 Spark 中,空值检查在 group by 中使用时不起作用,并且调用LENGTH()值和空值检查可以正常工作。

运行上面的查询,我得到以下错误:

SQL Error: java.lang.IllegalArgumentException: Unrecognized type name: null\"

任何想法是什么问题?

0 投票
1 回答
507 浏览

apache-spark - 带有 Play 的 Spark 2.0!2.5

我正在尝试将 Spark 2.0 与 Play 一起使用!2.5,但我无法使其正常工作(而且似乎 Github 上没有示例)。

我没有任何编译错误,但我有一些奇怪的执行错误。
例如:几乎所有对 aDataset或 a 的操作都会Dataframe导致 a NullPointerException

ds.show也导致一个NullPointerException.

所以我错过了一个大问题,所以我认为它来自不兼容的版本。这是我的相关部分build.sbt

0 投票
1 回答
451 浏览

java - spark mvn compile error.[ERROR] 无法执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile)

我正在学习参考《机器学习火花》这本书

groupId:org.apache.spark artifactId:spark-core_2.11 版本:2.0.1

JavaApp.java

我的 pom.xml

所以,我使用 maven 编译了代码,但无法解决以下错误消息

这个问题困扰了我4天。请帮我 :(

0 投票
1 回答
15038 浏览

scala - 从scala中的数据框中添加两列

我在 DF 中存储了两列年龄和薪水。我只想编写一个 scala 代码来逐列添加这些值。我试过

给我错误。请帮忙

0 投票
0 回答
501 浏览

partitioning - spark2.0.1 - 分区发现失败

我在分区目录中有以下镶木地板文件:

在 spark1.6 中,可以按如下方式访问:

但是在 spark2.0.1 中,此代码会引发错误:

各个分区目录可以单独读取和合并,但我很好奇我应该寻找什么差异。

更新:分区目录是通过三个单独的写入写入的,例如,df.where(id=1).write.parquet而不是df.write.partitionBy. 这似乎是问题的根源。但是,我正在积极尝试确定为什么在先前版本的 spark 中读取/收集成功。

更新:上面的 'id' 列是一个 Long,当显式写入时(例如 df.write.parquet('/files/dataset/id=1') 在读取过程中抛出错误。分区发现显然试图将分区读取为IntType 而不是 Long。见https://issues.apache.org/jira/browse/SPARK-18108