scala中sparkSql读取文件构建表
在Scala中使用SparkSQL读取文件构建表的代码如下:
import org.apache.spark.sql.SparkSession
object ReadFileBuildTable {
def main(args: Array[String]): Unit = {
// 创建SparkSession
val spark = SparkSession.builder()
.appName("ReadFileBuildTable")
.master("local")
.getOrCreate()
// 读取文件并构建表
val file = "path/to/file.csv" // 文件路径
val df = spark.read
.format("csv")
.option("header", "true") // 如果文件有表头,设置为true
.option("inferSchema", "true") // 自动推断列类型
.load(file)
// 注册表
df.createOrReplaceTempView("myTable")
// 执行SQL查询
val result = spark.sql("SELECT * FROM myTable")
// 输出结果
result.show()
// 停止SparkSession
spark.stop()
}
}
在上述代码中,首先创建了一个SparkSession,然后使用spark.read方法读取文件,通过.format("csv")指定文件格式为CSV,.option("header", "true")设置文件有表头,.option("inferSchema", "true")自动推断列类型,.load(file)加载文件。
接着,使用df.createOrReplaceTempView("myTable")将DataFrame注册为一个临时表,可以通过表名"myTable"在SparkSQL中引用。
最后,使用spark.sql方法执行SQL查询,将结果保存在result变量中,并使用result.show()方法输出结果。
最后,使用spark.stop()停止SparkSession
原文地址: https://www.cveoy.top/t/topic/hF6m 著作权归作者所有。请勿转载和采集!