首页 > 其他分享 >spark读写文件

spark读写文件

时间:2023-02-13 22:45:07浏览次数:34  
标签:文件 csv splits val 读写 spark toLong option

    val path="/Volumes/Data/BigData_code/data/retail-data/by-day/2010-12-01.csv"
    spark.read.format("csv").option("header", "true").option("inferSchema", "true")
      .load(path)

对于gz文件的读取,注意(这里讲的txt压缩成gz文件)

//方法1
val sourceDF = spark.read.option("delimiter", "\t").schema(sourceSchema).format("csv").load(output)

//方法2
// val sourceRDD = 
// sc
// .textFile(output, 20)
// .map(_.split("\t"))
// .filter(_.length==8)
// .map(splits => {
//  (splits(0), splits(1), splits(2), splits(3), splits(4).toLong, splits(5).toLong, splits(6).toLong, splits(7).toLong)
// })


// val sourceDF =sourceRDD
//       .toDF("key", "fpdn", "date", "ip", "ipLong", "requentCnt", "firstSeen", "lastSeen")

注意分隔符:不同的文件可能会有不同的分隔符。在spark.read中默认的分隔符为‘,’逗号。如果是其他的需要自己设置:

val sourceDF = spark.read.option("delimiter", "\t")     //使用delimiter设置成‘\t'
    .schema(sourceSchema).format("csv").load(output)

这里使用的是delimiter。
如果是方法2,直接textFile的line直接split("\t")

标签:文件,csv,splits,val,读写,spark,toLong,option
From: https://www.cnblogs.com/ALINGMAOMAO/p/17118121.html

相关文章

  • spark的DataFrame的schema模式:读时模式, 指定模式
    读时模式valpath="/Volumes/Data/BigData_code/data/"//读取json生成dataframevaldf=spark.read.format("json").load(path+"flight-data/json/2015-......
  • spark DataFrame聚合操作
    在聚合操作中,需要指定键或分组方式,以及指定如何转换一列或多列数据的聚合函数。s除了处理任意类型的值之外,Spark还可以创建以下分组类型:最简单的分组通过在select语句......
  • SharePoint Online 分享文件夹提示功能禁用
    前言最近使用SharePointOnline站点的时候,分享文件夹出现了这个提示(Sharingfoldersisdisabled),没办法给文件夹授权。正文1.提示的信息截图,如下图: ......
  • python文件I/O
    1、打印到控制台:printif__name__=='__main__':print('hello')2、读取键盘输入:inputif__name__=='__main__':str1=input('请输入:')print(str1)3、打开......
  • 8.7 可执行文件运行时的必要条件
    在程序运行时,虚拟的内存地址会转换成实际的内存地址。链接器会在EXE文件的开头,追加转换内存地址所需的必要信息。这个信息称为再配置信息。EXE文件的再配置信息,就成为了变......
  • 8.6 DLL文件及导入库
    Windows以函数的形式为应用提供了各种功能。这些形式的函数称为API(应用程序接口)。例如,Samplel.c中调用的MessageBox0不是C语言的标准函数,而是Windows提供的API的一种。M......
  • Mybatis04 - 核心配置文件 mybatis-config.xml
    mybatis-config.xml<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN""http://mybatis.......
  • Mybatis05 - 将有固定格式的文件添加至IDEA模板
    将常用的固定格式的配置文件添加为IDEA中的模板Mybatis核心配置文件mybatis-config.xmlMybatis映射文件mybatis-mapper.xml可以在新建文件时直接使用添加的模板红......
  • 8.4 仅靠编译是无法得到可执行文件的
    编译器转换源代码后,就会生成本地文件。不过,本地文件是无法直接运行的。为了得到可以运行的EXE文件,编译之后还需要进行“链接”处理。下面,就让我们使用BorlandC++Compile......
  • 标准io和文件io
       一个进程中默认打开了STDIN(标准输入)、STDOUT(标准输入)、STDERR(标准错误)标准io:标准io库(stdio)提供的带缓存的io,可提高效率(减少系统点用),也会有系统调用,只是在......