我需要创建自己的UnaryTransformer实例,该实例接受类型为Array[String]的Dataframe列,并且还应该输出相同的类型。在尝试这样做时,我在Spark版本2.1.0上遇到了ClassCastException。我做了一个样本测试来证明我的情况。
import org.apache.spark.SparkConf
import org.apache.spark.ml.UnaryTransformer
import org.apache.spark.ml.util.Identifiable
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.types.{ArrayType, DataType, StringType}
class MyTransformer(override val uid:String) extends UnaryTransformer[Array[String],Array[String],MyTransformer] {
override protected def createTransformFunc: (Array[String]) => Array[String] = {
param1 => {
param1.foreach(println(_))
param1
}
}
override protected def outputDataType: DataType = ArrayType(StringType)
override protected def validateInputType(inputType: DataType): Unit = {
require(inputType == ArrayType(StringType), s"Data type mismatch between Array[String] and provided type $inputType.")
}
def this() = this( Identifiable.randomUID("tester") )
}
object Tester {
def main(args: Array[String]): Unit = {
val config = new SparkConf().setAppName("Tester")
implicit val sparkSession = SparkSession.builder().config(config).getOrCreate()
import sparkSession.implicits._
val dataframe = Seq(Array("Firstly" , "F1"),Array("Driving" , "S1" ),Array("Ran" , "T3" ),Array("Fourth" ,"F4"), Array("Running" , "F5")
,Array("Gone" , "S6")).toDF("input")
val transformer = new MyTransformer().setInputCol("input").setOutputCol("output")
val transformed = transformer.transform(dataframe)
transformed.select("output").show()
println("Complete....")
sparkSession.close()
}
}
附加堆栈跟踪以供参考
arraytype
表示为seq
而不是array
:
override protected def createTransformFunc: (Seq[String]) => Seq[String] = {
param1 => {
param1.foreach(println(_))
param1
}
}
我一直在开发这个简单的Java程序,在某种程度上它抛出了一个“ClassCastException”,我不知道为什么。程序中发生的事情是,它读取2个文本文件,并将它们存储在对象数组列表中(因为我使用相同的方法读取这两个文件) 稍后,当我尝试将这些对象转换为我创建的自定义数据类型时,程序会抛出此错误。我做错了什么? } ^^这需要与员工相关的菜单。 ^^这就是我得到异常的地方,就在“客户客户=(客户
这是一个面试问题。 面试结束了,但这个问题仍然在我脑海里。 我不能问面试官,因为我没有得到这份工作。 脚本: 将类C1的对象放入具有键“a”的缓存中 后代码: 此代码引发ClassCastException。 原因是什么? 我说是因为别人用同样的键放了另一个对象,所以覆盖了它。我被告知不,想想其他可能性。 我说定义类C1的jar可能在此节点上不可用(不确定这是否会导致类强制转换或类NotFound
如果从Fragment调用,我的DialogFragment会抛出ClassCastException,而如果从Activity调用,则会正常工作。我已经看了很少的其他问题与类似的问题,基本上是与进口有关的,但我没有能够解决在我的实现。下面是我对DialogFragment的实现。 下面是我使用上面的DialogFragment的片段: 这是错误日志: 我想知道有没有人能给出一个关于这个问题的提示
问题内容: 当我调用并将其强制转换为该异常时。 抛出它的代码: 但是,并非每次都这样做。在大多数情况下,它运行正常,但在其他时候,它会抛出此异常。我不明白为什么会这样。我有什么办法可以阻止这种情况的发生? 问题答案: 您不应假定它是DefaultListModel。使用接口ListModel。JList返回ListModel的内部实现。 如果需要访问基础模型,则应创建它,在JList构造函数中进行
我正在将Weblogic server从9升级到10.3.6。当我试图部署我的ear应用程序时,出现以下异常。 我尝试了各种各样的方法,包括添加一个weblogic应用程序.xml但它仍然不起作用。 我的weblogic.xml 这是我的pom.xml的一部分: 请帮帮忙。谢谢!
我正在尝试创建一个“简单”的一个或多个或多个的关系。我得到以下例外情况: 有人能告诉我我做错了什么吗? 下面你可以找到我的两个实体。 提前谢谢你。 而且