我在 spark-shell 中运行自动数据处理脚本时遇到了这个问题。前几次迭代工作正常,但迟早会遇到这个错误。我用谷歌搜索了这个问题,但没有找到完全匹配的。其他类似问题不在 spark 上下文中。我想这可能与JVM版本有关,但我不知道如何解决问题。
我在 spark 独立集群中使用了 2 台机器。
一号机Java信息:
java 10.0.2 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)
2号机Java信息:
openjdk 10.0.2 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4, mixed mode)
错误信息:
WARN TaskSetManager:66 - Lost task 3.0 in stage 28.0 (TID 1368, 169.254.115.145, executor 1):
java.lang.NoSuchMethodError: sun.nio.ch.DirectBuffer.cleaner()Lsun/misc/Cleaner;
at org.apache.spark.storage.StorageUtils$.cleanDirectBuffer(StorageUtils.scala:212)
at org.apache.spark.storage.StorageUtils$.dispose(StorageUtils.scala:207)
at org.apache.spark.storage.StorageUtils.dispose(StorageUtils.scala)
at org.apache.spark.io.NioBufferedFileInputStream.close(NioBufferedFileInputStream.java:130)
at java.base/java.io.FilterInputStream.close(FilterInputStream.java:180)
at org.apache.spark.io.ReadAheadInputStream.close(ReadAheadInputStream.java:400)
at org.apache.spark.util.collection.unsafe.sort.UnsafeSorterSpillReader.close(UnsafeSorterSpillReader.java:152)
at …
您好,我已经解压并导出了 Spark 路径。当我吃午饭时,我收到了这个错误。
export PATH=$PATH:/usr/local/spark/spark24/bin
Run Code Online (Sandbox Code Playgroud)
$ 火花外壳
错误
Traceback (most recent call last):
File "/usr/local/bin/find_spark_home.py", line 74, in <module>
print(_find_spark_home())
File "/usr/local/bin/find_spark_home.py", line 56, in _find_spark_home
module_home = os.path.dirname(find_spec("pyspark").origin)
AttributeError: 'NoneType' object has no attribute 'origin'
/usr/local/bin/spark-shell: line 57: /bin/spark-submit: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我的问题是什么。
输入:
Val l= List("k1","v1","k2","v2")
期望的输出:
List(("k1","v1"),("k2","v2"))
我曾尝试使用 zip、折叠、切片,但没有成功。
注意:我已经在 python 中完成了,但无法在 Scala 中完成。
我经常使用spark-shell,通常是在数据库上运行sql查询。运行 sql 查询的唯一方法是将它们包装在 Spark.sql(""" query """) 中。
有没有办法直接切换到spark-sql并避免包装器代码?例如,当使用 beeline 时,我们得到一个直接的 sql 接口。