apache-spark - 如何将连续 3 行视为一个数据集加载数据集?

标签 apache-spark apache-spark-sql

|T  2009-08-26 17:1...|  
|U  http://twitter....|  
|     W No Post Title|  
|                    |  
|T  2009-11-01 02:4...|  
|U  http://twitter....|  
|     W No Post Title|  
|                    |  
|T  2009-11-18 16:5...|  
|U  http://twitter....|  
|     W No Post Title|  
|                    |  

现在我有这样的数据 我想对每 4 行数据进行分组。

所以一行将包含

T  2009-X-XX   U   http://xxxx      W xxxxxxx"

这可能吗? 或者有没有办法把它变成一个标题为 T U 和 W 的 csv 文件? 谢谢。

最佳答案

我认为唯一的解决方案是编写您自己的自定义 TextBasedFileFormat可以像您一样处理 3 行文本格式。

参见 org.apache.spark.sql.execution.datasources.csv.CSVFileFormat寻找灵感。


CSVFileFormat 可以轻松处理格式,将空行作为行分隔符。

关于apache-spark - 如何将连续 3 行视为一个数据集加载数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47611934/

相关文章:

scala - Spark : shuffle operation leading to long GC pause

scala - 线程 "main"java.lang.NoClassDefFoundError : org/apache/spark/rdd/RDD 中出现异常

java - 通过 apache spark 将行收集为列表

java - Deeplearning4j 触发管道 : Convert a String type to org. apache.spark.mllib.linalg.VectorUDT

hadoop - 为什么 DataFrame.saveAsTable ("df") 将表保存到不同的 HDFS 主机?

apache-spark - Spark 的数据集不持久行为

apache-spark - 将 printSchema() 函数的结果保存到 Pyspark 中的变量?

java - 如何将 jar 附加到正在执行作业的 Spark 集群?

scala - Spark SQL的Scala API-TimestampType-找不到用于org.apache.spark.sql.types.TimestampType的编码器

python - 使用isin模拟sql的IN子句