Spark_SQL-创建临时表

一般在开发spark程序的时候,都需要创建一些数据作为临时表来使用,在实际生产中使用HiveSQL直接获取数据,因为在开发阶段都是在单机上,无法连接Hive,所以必须使用临时表代替,需要在服务器上部署的时候将SQLContext隐式转换为HIveContext即可

//1、创建临时表对应的结构,包扩字段名称+字段类型+是否允许为非空

val productSchema=StructType(List(StructField("product_id",LongType,true),StructField("product_title",StringType,true),StructField("extend_info",StringType,true))

//2、从指定位置创建RDD,这里所用的文件使用空格进行字段的划分

valproductRDD=sc.textFile(file_path).map(_.split(" "))

//3、将RDD中的没一行数据创建为一个Row,

valproductRowRDD=productRDD.map(u=>Row(u(0).toLong,u(1).trim,u(2).trim))

//4、将RDD转为DataFrame,只有DataFrame数据格式才能注册临时表。传入RowRDD以及表结构

valproductDataFrame=sqlContext.createDataFrame(productRowRDD,productSchema)

//5、注册为临时表,参数为数据表名称

productDataFrame.registerTempTable(“tableName”)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容