java - TypeError:“JavaPackage”对象在 google 协作中不可调用
问题描述
我正在学习 apache spark,我在 google colab 上运行了以下代码。
#installed based upon https://colab.research.google.com/github/JohnSnowLabs/spark-nlp-workshop/blob/master/jupyter/quick_start_google_colab.ipynb#scrollTo=lNu3meQKEXdu
import os
# Install java
!apt-get install -y openjdk-8-jdk-headless -qq > /dev/null
!wget -q "https://downloads.apache.org/spark/spark-3.1.1/spark-3.1.1-bin-hadoop2.7.tgz" > /dev/null
!tar -xvf spark-3.1.1-bin-hadoop2.7.tgz > /dev/null
!pip install -q findspark
os.environ["SPARK_HOME"] = "/content/spark-3.1.1-bin-hadoop2.7"
os.environ["JAVA_HOME"] = "/usr/lib/jvm/java-8-openjdk-amd64"
os.environ["PATH"] = os.environ["JAVA_HOME"] + "/bin:" + os.environ["PATH"]
! java -version
# Install spark-nlp and pyspark
! pip install spark-nlp==3.0.0 pyspark==3.1.1
import sparknlp
spark = sparknlp.start()
from sparknlp.base import DocumentAssembler
documentAssembler = DocumentAssembler().setInputCol(text_col).setOutputCol('document')
我收到以下错误。我该如何解决
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-48-535b177b526b> in <module>()
4
5 from sparknlp.base import DocumentAssembler
----> 6 documentAssembler = DocumentAssembler().setInputCol(text_col).setOutputCol('document')
4 frames
/usr/local/lib/python3.7/dist-packages/pyspark/ml/wrapper.py in _new_java_obj(java_class, *args)
64 java_obj = getattr(java_obj, name)
65 java_args = [_py2java(sc, arg) for arg in args]
---> 66 return java_obj(*java_args)
67
68 @staticmethod
TypeError: 'JavaPackage' object is not callable
解决方案
正如我在上一条评论中提到的:
通过您拥有的 spark 数据框中的列名称更改 text_col,按其名称记录您可以添加 .setCleanupMode("clean_mode") 有关更多详细信息,您可以参考此链接:https://spark.apache。 org/docs/latest/ml-features
documentAssembler = DocumentAssembler \
.setInputCol("text_col") \
.setOutputCol("document")
推荐阅读
- python - The order of tests works perfect on python 2 but not on python 3
- c++ - unresolved external symbol CORBA server
- ios - ReactNative iOS UNUserNotificationCenter:实现 didReceiveNotificationResponse
- ruby-on-rails - 将用户头像从资产/图像更改为图片
- linux - 有没有办法在linux中进行事件订阅
- javascript - 如何仅通过路由器链接访问 Vue.js 中的路由
- python - 使用不同的配置运行 Python
- javascript - How to install Node.js packages from Git repository inside specific folders
- php - 根据范围从收据簿中获取缺失的数字
- r - 嵌套循环错误:矩阵上的下标数量不正确