我已经能够导入包:

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仍然无法正常工作。我将发布另一个更具体的问题。

10-08 00:37