小编Rah*_*hul的帖子

错误:SparkContext 只能在驱动程序上使用,不能在工作程序上运行的代码中使用。有关更多信息,请参阅 SPARK-5063

我目前正在使用 ASN 1 解码器。我将从生产者那里获取十六进制十进制代码,并将其收集到消费者中。然后,我将十六进制代码转换为 RDD,然后将十六进制值 RDD 传递给同一类 Decode_Module 中的另一个函数,并将使用 python asn1 解码器来解码十六进制数据并将其返回并打印。我不明白我的代码出了什么问题。我也已经在工作节点中安装了我的 asn1 解析器依赖项。我调用 lambda 表达式或其他内容的方式有任何问题。

我的错误:异常:您似乎正在尝试从广播变量、操作或转换引用 SparkContext。SparkContext 只能在驱动程序上使用,不能在工作程序上运行的代码中使用。有关更多信息,请参阅 SPARK-5063

请帮助我,谢谢

我的代码:

class telco_cn:

 def __init__(self,sc):
    self.sc = sc
    print ('in init function')
    logging.info('eneterd into init function')

 def decode_module(self,msg):
        try:
            logging.info('Entered into generate module')
            ### Providing input for module we need to load
            load_module(config_values['load_module'])
            ### Providing Value for Type of Decoding
            ASN1.ASN1Obj.CODEC = config_values['PER_DECODER']
            ### Providing Input for Align/UnAlign
            PER.VARIANT = config_values['PER_ALIGNED']
            ### Providing Input for pdu load
            pdu = …
Run Code Online (Sandbox Code Playgroud)

python lambda python-2.7 pyspark pyasn1

3
推荐指数
1
解决办法
2万
查看次数

如何捕获Try/Catch Block Python中的所有异常?

我正在编写python代码来安装我的程序在linux环境中所需的所有库包.所以linux可能包含python 2.7或2.6或两者,所以我开发了一个try和除了块代码,将在linux中安装pip包.尝试块代码包含python 2.7版本pip install和Catch块包含python 2.6版本pip install.我的问题是代码的和平工作正常,当我试图在python 2.6中安装pandas它让我有些错误.我想抓住那个例外.你能否告诉我如何改进我的尝试,除了阻止异常的块

required_libraries = ['pytz','requests','pandas']
try:
   from subprocess import check_output
   pip27_path = subprocess.check_output(['sudo','find','/','-name','pip2.7'])
   lib_installs = [subprocess.call((['sudo',pip27_path.replace('\n',''),'install', i])) for i in required_libraries]
except:
   p = subprocess.Popen(['sudo','find','/','-name','pip2.6'], stdout=subprocess.PIPE);pip26_path, err = p.communicate()
   lib_installs = [subprocess.call((['sudo',pip26_path.replace('\n',''),'install', i])) for i in required_libraries]
Run Code Online (Sandbox Code Playgroud)

python subprocess exception python-2.7 python-3.x

3
推荐指数
1
解决办法
1万
查看次数

如何通过直接从网页下载文件而不使用本地直接将文件放置在HDFS中?

我需要帮助。我正在使用 python 代码从网页下载文件并将其放置在本地文件系统中,然后使用 put 命令将其传输到 HDFS,然后对其执行操作。

但是在某些情况下,文件大小会非常大,下载到本地文件系统不是一个正确的过程。因此,我希望将文件直接下载到 HDFS 中,而根本不使用本地文件系统。

任何人都可以向我建议一些方法,哪种方法是最好的方法?如果我的问题有任何错误,请纠正我。

hadoop hdfs hadoop-streaming hadoop2

2
推荐指数
1
解决办法
712
查看次数