用spark对链家二手房csv进行数据分析或统计的代码
时间: 2023-08-11 22:08:27 浏览: 42
以下是用Spark对链家二手房CSV进行数据分析或统计的示例代码:
```
import org.apache.spark.sql.SparkSession
object LianjiaDataAnalysis {
def main(args: Array[String]) {
// 初始化SparkSession
val spark = SparkSession.builder()
.appName("LianjiaDataAnalysis")
.master("local[*]") // 本地运行模式
.getOrCreate()
// 读取CSV文件
val df = spark.read.format("csv")
.option("header", "true")
.load("path/to/lianjia.csv")
// 输出DataFrame的schema
df.printSchema()
// 统计数据
// 1. 获取总记录数
val count = df.count()
println(s"总记录数:$count")
// 2. 获取最高房价
val maxPrice = df.selectExpr("max(price)").first().get(0)
println(s"最高房价:$maxPrice")
// 3. 获取最低房价
val minPrice = df.selectExpr("min(price)").first().get(0)
println(s"最低房价:$minPrice")
// 4. 获取平均房价
val avgPrice = df.selectExpr("avg(price)").first().get(0)
println(s"平均房价:$avgPrice")
// 5. 获取房屋面积的分布情况
df.selectExpr("floor_area").groupBy("floor_area").count().show()
// 关闭SparkSession
spark.stop()
}
}
```
该代码使用SparkSession读取CSV文件,并进行了一些简单的统计,比如获取总记录数、最高房价、最低房价、平均房价等。同时,还展示了如何获取房屋面积的分布情况。你可以根据具体需求进行修改和扩展。