Apache spark Solve TypeError:Apache Spark中需要一个整数(获取类型字节)
嗨,我是Apache Spark的新手。我在Ubuntu20.04.2 LTS上安装了Spark 2.4.7,我正在使用python 3.7和Anaconda3(Anaconda3-2020-02-Linux-x86_64.sh)以及openjdk 14.0.2。我试图通过以下python脚本阅读卡夫卡主题:Apache spark Solve TypeError:Apache Spark中需要一个整数(获取类型字节),apache-spark,pyspark,Apache Spark,Pyspark,嗨,我是Apache Spark的新手。我在Ubuntu20.04.2 LTS上安装了Spark 2.4.7,我正在使用python 3.7和Anaconda3(Anaconda3-2020-02-Linux-x86_64.sh)以及openjdk 14.0.2。我试图通过以下python脚本阅读卡夫卡主题: from pyspark import RDD from pyspark import SparkContext from pyspark.streaming import Streami
from pyspark import RDD
from pyspark import SparkContext
from pyspark.streaming import StreamingContext
from pyspark.streaming.kafka import KafkaUtils
import json
import logging
#define top level module logger
logger = logging.getLogger(__name__)
#Spark context details
sc = SparkContext(appName="PythonSparkStreamingKafka")
ssc = StreamingContext(sc,2)
#Creating Kafka direct stream
dks = KafkaUtils.createDirectStream(ssc, ["temperature"], {"metadata.broker.list":"ip_address:9092"})
counts = dks.pprint()
logger.info(dks)
#Starting Spark context
ssc.start()
ssc.awaitTermination()
我尝试使用以下命令行启动:
/home/kafka/Documenti/spark2/bin/spark-submit ~/Documenti/spark2/examples/testkafkaspark/testkafka.py
localhost 9999
但我收到了这个错误:
(testkafkaspark) kafka@kafka:~/Documenti/spark2/examples/testkafkaspark$ /home/kafka/Documenti/spark2/bin/spark-submit ~/Documenti/spark2/examples/testkafkaspark/testkafka.py localhost 9999
21/04/21 15:53:12 WARN Utils: Your hostname, kafka resolves to a loopback address: 127.0.1.1; using my_ip instead (on interface ens160)
21/04/21 15:53:12 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.spark.unsafe.Platform (file:/home/kafka/Documenti/spark2/jars/spark-unsafe_2.11-2.4.7.jar) to method java.nio.Bits.unaligned()
WARNING: Please consider reporting this to the maintainers of org.apache.spark.unsafe.Platform
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
21/04/21 15:53:13 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Traceback (most recent call last):
File "/home/kafka/Documenti/spark2/examples/testkafkaspark/testkafka.py", line 4, in <module>
import pyspark
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
File "<frozen importlib._bootstrap>", line 618, in _load_backward_compatible
File "<frozen zipimport>", line 259, in load_module
File "/home/kafka/Documenti/spark2/python/lib/pyspark.zip/pyspark/__init__.py", line 51, in <module>
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
File "<frozen importlib._bootstrap>", line 618, in _load_backward_compatible
File "<frozen zipimport>", line 259, in load_module
File "/home/kafka/Documenti/spark2/python/lib/pyspark.zip/pyspark/context.py", line 31, in <module>
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
File "<frozen importlib._bootstrap>", line 618, in _load_backward_compatible
File "<frozen zipimport>", line 259, in load_module
File "/home/kafka/Documenti/spark2/python/lib/pyspark.zip/pyspark/accumulators.py", line 97, in <module>
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
File "<frozen importlib._bootstrap>", line 618, in _load_backward_compatible
File "<frozen zipimport>", line 259, in load_module
File "/home/kafka/Documenti/spark2/python/lib/pyspark.zip/pyspark/serializers.py", line 72, in <module>
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
File "<frozen importlib._bootstrap>", line 618, in _load_backward_compatible
File "<frozen zipimport>", line 259, in load_module
File "/home/kafka/Documenti/spark2/python/lib/pyspark.zip/pyspark/cloudpickle.py", line 145, in <module>
File "/home/kafka/Documenti/spark2/python/lib/pyspark.zip/pyspark/cloudpickle.py", line 126, in _make_cell_set_template_code
TypeError: an integer is required (got type bytes)
21/04/21 15:53:13 INFO ShutdownHookManager: Shutdown hook called
21/04/21 15:53:13 INFO ShutdownHookManager: Deleting directory /tmp/spark-c5b12b40-a19b-4ac1-88a8-6d1ddb8b9679
(testkafkaspak)kafka@kafka:~/Documenti/spark2/examples/testkafkaspark$/home/kafka/Documenti/spark2/bin/spark submit~/Documenti/spark2/examples/testkafkaspark/testkafka.py localhost 9999
21/04/21 15:53:12警告Utils:您的主机名,kafka解析为环回地址:127.0.1.1;改用my_ip(在接口ens160上)
21/04/21 15:53:12警告Utils:如果需要绑定到其他地址,请设置SPARK_LOCAL_IP
警告:发生了非法的反射访问操作
警告:org.apache.spark.unsafe.Platform(文件:/home/kafka/Documenti/spark2/jars/spark-unsafe_2.11-2.4.7.jar)对java.nio.Bits.unaligned()方法的非法反射访问
警告:请考虑将此报告给Or.ApHEC.SPARK.UNSAFE平台的维护者。
警告:使用--invalize access=warn以启用对进一步非法访问操作的警告
警告:所有非法访问操作将在未来版本中被拒绝
21/04/21 15:53:13警告NativeCodeLoader:无法为您的平台加载本机hadoop库。。。在适用的情况下使用内置java类
回溯(最近一次呼叫最后一次):
文件“/home/kafka/Documenti/spark2/examples/testkafkaspark/testkafka.py”,第4行,在
进口Pypark
文件“”,第991行,在“查找”和“加载”中
文件“”,第975行,在“查找”和“加载”中解锁
文件“”,第655行,已加载
文件“”,第618行,可向后加载
加载模块中第259行的文件“”
文件“/home/kafka/Documenti/spark2/python/lib/pyspark.zip/pyspark/_init__.py”,第51行,在
文件“”,第991行,在“查找”和“加载”中
文件“”,第975行,在“查找”和“加载”中解锁
文件“”,第655行,已加载
文件“”,第618行,可向后加载
加载模块中第259行的文件“”
文件“/home/kafka/Documenti/spark2/python/lib/pyspark.zip/pyspark/context.py”,第31行,在
文件“”,第991行,在“查找”和“加载”中
文件“”,第975行,在“查找”和“加载”中解锁
文件“”,第655行,已加载
文件“”,第618行,可向后加载
加载模块中第259行的文件“”
文件“/home/kafka/Documenti/spark2/python/lib/pyspark.zip/pyspark/acculators.py”,第97行,在
文件“”,第991行,在“查找”和“加载”中
文件“”,第975行,在“查找”和“加载”中解锁
文件“”,第655行,已加载
文件“”,第618行,可向后加载
加载模块中第259行的文件“”
文件“/home/kafka/Documenti/spark2/python/lib/pyspark.zip/pyspark/serializers.py”,第72行,在
文件“”,第991行,在“查找”和“加载”中
文件“”,第975行,在“查找”和“加载”中解锁
文件“”,第655行,已加载
文件“”,第618行,可向后加载
加载模块中第259行的文件“”
文件“/home/kafka/Documenti/spark2/python/lib/pyspark.zip/pyspark/cloudpickle.py”,第145行,在
文件“/home/kafka/Documenti/spark2/python/lib/pyspark.zip/pyspark/cloudpickle.py”,第126行,在模板代码中
TypeError:需要整数(获取类型字节)
21/04/21 15:53:13信息关闭挂钩管理器:已调用关闭挂钩
21/04/21 15:53:13信息关机挂钩管理器:删除目录/tmp/spark-c5b12b40-a19b-4ac1-88a8-6d1ddb8b9679
我读了一些关于这个问题的主题(),但其中任何一个都解决了我的问题。
我将Pycharm与python 3.7中的conda环境一起使用。有人能帮我吗?
谢谢。将Java 8用于Spark 2。不支持Java 14。我使用的是开放jdk。它与Java 8不同(我想它是Java Oracle)。我的意思是,openjdk 8I降级为开放jdk1.8,但无法解决。您更改了Java路径吗?