SparkSQL有哪些自带的read方式

1:def read: DataFrameReader = new DataFrameReader(self) 功能:封装了一系列的读取数据的方法
-1.def format(source: String): DataFrameReader 表示指定输入数据的格式是什么?如果不给定,自动推断
-2.def schema(schema: StructType): DataFrameReader 表示给定输入数据的字段信息
-3.def option(key: String, value: String): DataFrameReader 表示给定数据读取过程中的一些参数
-4.def options(options: scala.collection.Map[String, String]): DataFrameReader 表示一次性读取多个配置参数
-5.def load(): DataFrame 表示加载的是不需要提供路径的数据比如git,jdbc。。。
-6.def load(path: String): DataFrame 表示加载给定输入路径的数据文件
-7.def load(paths: String*): DataFrame 表示加载给定多个输入路径的数据文件,路径之间使用逗号隔开
-8.def json(path: String): DataFrame 表示读取json文件
举例子:spark.read.json(path) == spark.read.format(“json”).load(path)
-9. def json(jsonRDD: JavaRDD[String]): DataFrame 表示读取json的数据,传参是javaRDD
例子:people.json scala:SparkContext java:JavaSparkContext
JavaRDD javaRDD = jsc.textFile(path)
spark.read.json(javaRDD)
-10. def json(jsonRDD: RDD[String]): DataFrame
例子:people.json scala:SparkContext java:JavaSparkContext
val rdd = sc.textFile(path)
spark.read.json(rdd)

-11.def csv(path: String): DataFrame 表示读取csv的数据

-12.def parquet(path: String): DataFrame 表示读取parquet的数据

-13.def orc(path: String): DataFrame 表示读取orc的数据

-14.def table(tableName: String): DataFrame 表示直接读取表 只有两种表:hive中的表和sparksql的临时表

-15. def text(path: String): DataFrame 表示读取text的数据

-16.def textFile(path: String): Dataset[String] 表示读取text的数据 但是返回值是Dataset

-17. def jdbc(url: String, table: String, properties: Properties)
url:数据库的连接地址
table:读取的表名
properties:数据库连接的配置信息
-18. def jdbc( 自定义分区
url: String,数据库的连接地址
table: String,读取的表名
columnName: String, 分区字段 deptno
lowerBound: Long, 分区值的下限 10
upperBound: Long, 分区值的上限 30
numPartitions: Int, 分区数 4
connectionProperties: Properties 数据库连接的配置信息): DataFrame

-19. def jdbc(
url: String,数据库的连接地址
table: String,读取的表名
predicates: Array[String], 自定义分区 deptno 3
connectionProperties: Properties 数据库连接的配置信息): DataFrame

SparkSQL有哪些自带的write方式

-1.def mode(saveMode: SaveMode): DataFrameWriter[T]
指定数据输出的模式

  • SaveMode.Overwrite: overwrite the existing data.
  • SaveMode.Append: append the data.
  • SaveMode.Ignore: ignore the operation (i.e. no-op).
  • SaveMode.ErrorIfExists: default option, throw an exception at runtime.

-2.def format(source: String): DataFrameWriter[T] 指定输出数据的格式 注意:如果当输出的时候不指定具体的输出格式。那么sparksql默认输出的都是parquet文件并使用snappy压缩
-3.def option(key: String, value: String): DataFrameWriter[T] 指定数据输出时候的参数
-4. def partitionBy(colNames: String*): DataFrameWriter[T] 指定数据输出的时候按照字段进行分区
-5. def bucketBy(numBuckets: Int, colName: String, colNames: String*): DataFrameWriter[T] 指定数据输出的时候按照字段进行分桶
-6.def sortBy(colName: String, colNames: String*): DataFrameWriter[T] 指定数据输出的时候,按照字段进行排序
-7.def save(path: String): Unit 指定输出的路径
-8. def save(): Unit 没有路径的保存
-9.def insertInto(tableName: String): Unit 数据输出到表中 表只能是hive和临时表
-10.def saveAsTable(tableName: String): Unit 把dataframe保存到hive,作为一张表
-11.def jdbc(url: String, table: String, connectionProperties: Properties): Unit 将dataFrame的数据保存到数据库
-12.def json(path: String): Unit 保存为json的文件
-13. def parquet(path: String): Unit
-14. def orc(path: String): Unit
-15.def text(path: String): Unit
-16.def csv(path: String): Unit