我正在通过以下命令运行py文件:
/opt/cloudera/parcels/SPARK2-2.2.0.cloudera2-1.cdh5.12.0.p0.232957/bin/spark2-submit --jars /home/jsonnt200/geomesa-hbase-spark-runtime_2.11-1.3.5.1cc.jar,/ccri/hbase-site.zip geomesa_klondike_enrichment2.py
这会导致以下错误:
Traceback(最近一次调用最后一次):文件 “/home/jsonnt200/geomesa_klondike_enrichment2.py”,第6306行, df2_500m.write.option('header','true')。csv('/ user / jsonnt200 / klondike_201708_1m_500meter_testEQ_union4') 文件 “/opt/cloudera/parcels/SPARK2-2.1.0.cloudera2-1.cdh5.7.0.p0.171658/lib/spark2/python/pyspark/sql/readwriter.py” 第711行,在csv中 self._jwrite.csv(path)文件“/opt/cloudera/parcels/SPARK2-2.1.0.cloudera2-1.cdh5.7.0.p0.171658/lib/spark2/python/lib/py4j-0.10.4-src .ZIP / py4j / java_gateway.py” 第1133行,在调用文件中 “/opt/cloudera/parcels/SPARK2-2.1.0.cloudera2-1.cdh5.7.0.p0.171658/lib/spark2/python/pyspark/sql/utils.py” 第79行,装饰 raise IllegalArgumentException(s.split(':',1)[1],stackTrace)pyspark.sql.utils.IllegalArgumentException:u'Illegal pattern 组件:XXX'
最大的问题是如果我通过ipython提交相同的py文件,它会正确运行。关于什么可能是问题的任何想法?不幸的是,我必须使用spark2-submit进行隧道挖掘。
答案 0 :(得分:0)
您正在使用 Spark 2.2.0 ,对吗?我在尝试读取csv文件时遇到了同样的问题。我认为问题是timestampFormat
变量。其默认值为yyyy-MM-dd'T'HH:mm:ss.SSSXXX.
参考。 pyspark.sql documentation
当我将其更改为例如timestampFormat="yyyy-MM-dd"
,我的代码有效。此post中也提到了此问题。希望能帮助到你 :)。