如何使用 scala 在 Spark 中排列行和列

齿

我想要一个格式的文本文件:

first line
column1;column2;column3
column1;column2;column3
last line

将它转换为没有第一行和最后一行的 DataFrame 我跳过了第一行和最后一行,但后来我变成了一行和一列中的其余文本 如何排列行?我的 DataFrame 也有一个架构

var textFile = sc.textFile("*.txt")
val header = textFile.first()
val total = textFile.count()
var rows = textFile.zipWithIndex().filter(x => x._2 < total - 1).map(x => x._1).filter(x => x !=  header)

val schema = StructType(Array(
  StructField("col1", IntegerType, true),
  StructField("col2", StringType, true),
  StructField("col3", StringType, true),
  StructField("col4", StringType, true)
))
拉梅什·马哈詹

您应该执行以下操作(为清楚起见进行注释)

//creating schema
import org.apache.spark.sql.types._
val schema = StructType(Array(
  StructField("col1", StringType, true),
  StructField("col2", StringType, true),
  StructField("col3", StringType, true)
))

//reading text file and finding total lines
val textFile = sc.textFile("*.txt")
val total = textFile.count()

//indexing lines for filtering the first and the last lines
import org.apache.spark.sql.Row
val rows = textFile.zipWithIndex()
    .filter(x => x._2 != 0 && x._2 < total - 1)
  .map(x => Row.fromSeq(x._1.split(";").toSeq))   //converting the lines to Row of sequences

//finally creating dataframe
val df = sqlContext.createDataFrame(rows, schema)
df.show(false)

这应该给你

+-------+-------+-------+
|col1   |col2   |col3   |
+-------+-------+-------+
|column1|column2|column3|
|column1|column2|column3|
+-------+-------+-------+

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Spark / Scala展平集合?

来自分类Dev

如何总结Spark / Scala中数据集的列?

来自分类Dev

如何使用Scala和Spark从数组中选择非顺序子集元素?

来自分类Dev

在Scala中使用Regex和Spark过滤DataFrame

来自分类Dev

如何使用Scala在Spark中创建SQLContext?

来自分类Dev

使用自定义spark和scala 2.11设置snappydata

来自分类Dev

如何使用Scala在Spark中处理日期?

来自分类Dev

Spark Scala:如何在DF中转换列

来自分类Dev

如何在Spark-scala中实现LEAD和LAG

来自分类Dev

如何在列数据Spark Scala上检查isEmpty

来自分类Dev

如何使用Scala在Spark DataFrame中将每一行分成多行

来自分类Dev

如何使用spark / scala解析YAML

来自分类Dev

使用Spark和Scala展平json文件

来自分类Dev

如何从MapType Scala Spark列提取数据作为Scala Map?

来自分类Dev

如何使用spark(scala)读取和写入(更新)同一文件

来自分类Dev

使用Glue连接和Spark Scala覆盖Mysql表

来自分类Dev

如何使用Scala删除重复的元组?笛卡尔Scala Spark

来自分类Dev

如何使用Spark Scala获取年份计数

来自分类Dev

Scala Spark如何对两列求和

来自分类Dev

如何使用Scala模拟Spark DataFrameReader?

来自分类Dev

如何总结Spark / Scala中数据集的列?

来自分类Dev

使用Spark和Scala膨胀数据集

来自分类Dev

如何在scala spark rdd中提取CSV文件的列

来自分类Dev

在 Spark(Scala) 中排序

来自分类Dev

使用 Scala/Spark 复制列中的值

来自分类Dev

如何使用scala从spark数据帧中的行中创建列

来自分类Dev

使用spark Scala将行转换为列

来自分类Dev

如何在 spark/scala 中将行转换为列?

来自分类Dev

比较和计算表中的值 - Spark 使用 Scala

Related 相关文章

热门标签

归档