为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Spark SQL中为自定义类型定义架构?

如何在Spark SQL中为自定义类型定义架构?

阿波罗的战车 2019-10-21 11:16:41
下面的示例代码尝试将一些case对象放入数据框中。该代码包括使用此特征的案例对象层次结构和案例类的定义:import org.apache.spark.{SparkContext, SparkConf}import org.apache.spark.sql.SQLContextsealed trait Somecase object AType extends Somecase object BType extends Somecase class Data( name : String, t: Some)object Example {  def main(args: Array[String]) : Unit = {    val conf = new SparkConf()      .setAppName( "Example" )      .setMaster( "local[*]")    val sc = new SparkContext(conf)    val sqlContext = new SQLContext(sc)    import sqlContext.implicits._    val df = sc.parallelize( Seq( Data( "a", AType), Data( "b", BType) ), 4).toDF()    df.show()  }}    执行代码时,不幸的是遇到以下异常:java.lang.UnsupportedOperationException: Schema for type Some is not supported问题是否可以为某些类型(此处为type Some)添加或定义模式?是否存在另一种方法来代表这种枚举?我试图Enumeration直接使用,但也没有成功。(见下文)的代码Enumeration:object Some extends Enumeration {  type Some = Value  val AType, BType = Value}提前致谢。我希望最好的方法是不要使用字符串。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 436 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信