Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如何使用spark createData Frame从List\seq集合创建数据帧_Scala_Apache Spark_Apache Spark Sql - Fatal编程技术网

Scala 如何使用spark createData Frame从List\seq集合创建数据帧

Scala 如何使用spark createData Frame从List\seq集合创建数据帧,scala,apache-spark,apache-spark-sql,Scala,Apache Spark,Apache Spark Sql,有关于#2.的问题。。为什么无法为列表[Int]创建数据帧。在#1中,我正在创建元组列表..并且能够使用createDataFrame选项创建DF。此方法在产品类型中是可接受的。为什么不接受#2 Tuple2是Product trait的子类型,这就是它接受Tuple2列表以创建数据帧的原因 #1 val tupleData = List(("Java", "20000"), ("Python", "100000"), ("Scala", "3000")) sc.createDataFr

有关于#2.的问题。。为什么无法为列表[Int]创建数据帧。在#1中,我正在创建元组列表..并且能够使用createDataFrame选项创建DF。此方法在产品类型中是可接受的。为什么不接受#2

Tuple2是Product trait的子类型,这就是它接受Tuple2列表以创建数据帧的原因

#1 val tupleData = List(("Java", "20000"), ("Python", "100000"), ("Scala", "3000"))
    sc.createDataFrame(tupleData).toDF("col1","col2") // perfectly fine 

在此,您正在传递类型Int的列表&Int不是产品或类型标签的子类型。

您可以将
Int
s转换为
Tuple1

#2    val intData = List(1,2,3)   
      sc.createDataFrame(intData).toDF("col1")
#1 val tupleData = List(("Java", "20000"), ("Python", "100000"), ("Scala", "3000"))
    sc.createDataFrame(tupleData).toDF("col1","col2") // perfectly fine 
#2    val intData = List(1,2,3)   
      sc.createDataFrame(intData).toDF("col1")
createDataFrame(List(1,2,3).map(Tuple1.apply)).toDF("col")