对象存储

产品文档

对象存储

帮助中心 > 产品文档 > 对象存储 > Spark使用OSS Select优化数据查询(公测)

Spark使用OSS select优化数据查询(公测)

本文介绍了在Spark里使用OSS select来优化数据查询的方法。目前OSS select处于公测中。

引入s3select依赖包

进入jars目录,下载oss-select.jar依赖包

下载地址:

scala 11版本对应jar包

scala 12版本对应jar包

项目源码可参考开源项目minio-SparkSelect

示例

spark.sparkContext.hadoopConfiguration.set("fs.s3a.access.key", "")
spark.sparkContext.hadoopConfiguration.set("fs.s3a.secret.key", "")
spark.sparkContext.hadoopConfiguration.set("fs.s3a.endpoint", "")
spark.sparkContext.hadoopConfiguration.set("fs.s3a.impl", "org.apache.hadoop.fs.s3a.S3AFileSystem")
val schema = StructType(
 List(StructField("name", StringType, false),
 StructField("age", IntegerType, false)))

val df = spark.read.format("minioSelectCSV")//minioSelectJSON
  .schema(schema)
  .options(Map("quote" -> "\'", "header" -> "true", "delimiter" -> ","))
  .load("s3://bukcet/object")
df.select("*").show()
sql:

spark.sql("CREATE TEMPORARY VIEW MyView (age INT, name STRING) USING minioSelectCSV OPTIONS (path \"s3://bucket/object\")")
spark.sql("select * from MyView where age > 10").show()
更新时间:2020-08-17 16:11:57