spark在日常工作中用的最多的 代码

本文详细介绍了如何在日常工作中使用Spark进行数据处理,包括初始化SparkSession、读取数据、数据转换与处理、SQL查询、数据写入、缓存与持久化,以及如何在结束时关闭SparkSession。
摘要由CSDN通过智能技术生成

初始化SparkSession

在使用Spark的任何功能之前,都需要初始化一个SparkSession对象。

import org.apache.spark.sql.SparkSession;  
  
SparkSession spark = SparkSession.builder()  
    .appName("Spark Application")  
    .master("local[*]") // 本地模式,适用于开发和测试,生产环境使用集群模式  
    .getOrCreate();

读取数据:

从各种数据源(如CSV、JSON、Parquet、Hive等)中读取数据。

Dataset<Row> df = spark.read().format("csv")  
    .option("header", "true")  
    .load("path/to/data.csv");

数据转换和处理

使用DataFrame和Dataset API进行数据转换和处理,如选择列、过滤行、聚合等。

df.select("column1", "column2") // 选择列  
  .filter(col("column1").equalTo("value")) // 过滤行  
  .groupBy("column2") // 分组  
  .agg(count("column1").alias("count")) // 聚合  
  .show(); // 显示结果

SQL查询

对DataFrame或Dataset执行SQL查询。

df.createOrReplaceTempView("temp_view"); // 注册临时视图  
Dataset<Row> result = spark.sql("SELECT column1, column2 FROM temp_view WHERE condition");  
result.show(); // 显示SQL查询结果

写入数据:

将处理后的数据写入到各种数据存储系统中,如HDFS、Hive、CSV、Parquet等。

df.write().format("parquet")  
    .mode("overwrite") // 覆盖模式,也可以选择append等  
    .save("path/to/output/directory");

缓存和持久化:

为了提高性能,可以将DataFrame或Dataset缓存起来或在磁盘上持久化。

df.cache(); // 缓存到内存中  
// 或者  
df.persist(); // 持久化到磁盘或内存中,取决于StorageLevel设置

关闭SparkSession

程序结束后,关闭SparkSession以释放资源。

spark.stop();

这些代码片段是Spark日常工作中最常用的,但具体使用时还需要根据业务需求和数据源的特性进行调整和扩展。注意,上面的代码示例是基于Java语言的,Spark也支持Scala、Python等其他语言,并且API在不同语言之间有所差异。

  • 13
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值