我已经能够导入包:
import pixiedust
pixiedust.installPackage("databricks:tensorframes:0")
但是当我尝试一个简单的例子时:
import tensorflow as tf
import tensorframes as tfs
from pyspark.sql import Row
data = [Row(x=[float(x), float(2 * x)],
key=str(x % 2),
z = float(x+1)) for x in range(1, 6)]
df = spark.createDataFrame(data)
tfs.print_schema(df)
我收到以下错误:
...
Py4JJavaError: An error occurred while calling o97.loadClass.
: java.lang.NoClassDefFoundError:com.typesafe.scalalogging.slf4j.LazyLogging
...
I've looked up the issue,并且依赖树中似乎有一个较旧的
scala-logging-slf4j
工件。如何删除此工件?删除后,我想可以使用PixieDust添加更新的版本:pixiedust.installPackage("https://mvnrepository.com/artifact/com.typesafe.scala-logging/scala-logging-slf4j_2.10/2.1.2")pixiedust.installPackage("https://mvnrepository.com/artifact/com.typesafe.scala-logging/scala-logging-api_2.10/2.1.2")
最佳答案
来自IBM支持部门的Charles帮助我找到了要包括的罐子:pixiedust.installPackage("http://central.maven.org/maven2/com/typesafe/scala-logging/scala-logging-slf4j_2.10/2.1.2/scala-logging-slf4j_2.10-2.1.2.jar")pixiedust.installPackage("http://central.maven.org/maven2/com/typesafe/scala-logging/scala-logging-api_2.10/2.1.2/scala-logging-api_2.10-2.1.2.jar")
从技术上讲,这可以解决第一个错误,但是TesnsorFrames仍然无法正常工作。我将发布另一个更具体的问题。