0
に
をそれを解決するためにどのように欠けている正常に動作している:pyspark 2.2何の属性「マップ」を持っていない「DATAFRAME」オブジェクトは、下位互換性は、私はコードの下スパーク1.6で働いていたとき
ddl = sqlContext.sql("""show create table {mytable }""".format(mytable="""mytest.my_dummytable"""))
map(''.join, ddl\
.map(lambda my_row: [str(data).replace("`", "'") for data in my_row])\
.collect())
しかし、私は、火花2.2に移動しました。次の例外があります。
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-> in <module>()
1 ddl = sqlContext.sql("""show create table {mytable }""".format(mytable ="""mytest.my_dummytable"""))
----> 2 map(''.join, ddl..map(lambda my_row: [str(data).replace("`", "'") for data in my_row]).collect())
spark2/python/pyspark/sql/dataframe.py in __getattr__(self, name)
if name not in self.columns:
raise AttributeError(
-> "'%s' object has no attribute '%s'" % (self.__class__.__name__, name))
jc = self._jdf.apply(name)
return Column(jc)
AttributeError: 'DataFrame' object has no attribute 'map'
ここで私は下位互換性が欠けています。私にはどうか提案してください。既存のコードを変更することで問題を解決してください。 –
@DastagiriShaik '.map'を呼び出す前にデータフレームで' .rdd'を呼び出すだけです。 – Justin
@DastagiriShaikあなたの場合は、 'sqlContext.sql(" ... ")。rdd.map(...)'です。 – Justin