Muhtemelen nedeniyle uygulamanızda bir içe aktarma çakışması var gibi görünüyor pyspark.sql.functions
gelen joker ithalat: Eğer nispeten sınırlı çalışmadıkça
Welcome to
____ __
/__/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/__/.__/\_,_/_/ /_/\_\ version 1.6.1
/_/
Using Python version 2.7.10 (default, Oct 19 2015 18:04:42)
SparkContext available as sc, HiveContext available as sqlContext.
In [1]: max(1, 2)
Out[1]: 2
In [2]: from pyspark.sql.functions import max
In [3]: max(1, 2)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-3-bb133f5d83e9> in <module>()
----> 1 max(1, 2)
TypeError: _() takes exactly 1 argument (2 given)
en iyisi ya perfix:
from pyspark.sql import functions as sqlf
max(1, 2)
## 2
sqlf.max("foo")
## Column<max(foo)>
veya takma:
from pyspark.sql.functions import max as max_
max(1, 2)
## 2
max_("foo")
## Column<max(foo)>
Eğer 'pyspark.sql.functions' dan sonra her zamanki gibi almazsanız. Çakışma olmamalı. Ama işe yaramıyorsa lütfen bir [mcve] – zero323
veriniz Yanıtınız için teşekkürler! Açıkladığınız şey mantıklı. Ama kendi kıvılcım bağlamında max() nasıl çağırılır. pyspark.sql.functions konumuna alma max_ içeriyorsa, __name__ == "__main__": print max (1,2) Benim için çalışmıyor. Fakat diğer amaçlar için pyspark.sql.functions dosyasını almalıyım. – user3610141
Sorunu 'import __builtin__' ve 'print __builtin __. Max (1,2)' ile çözdüm. Çok teşekkür ederim! – user3610141