您现在的位置:文学书籍 > 儿童诗歌

SparkSQL相关语句总结

发布时间:2019-08-13 11:53编辑:本站原创阅读(99)

    	SparkSQL相关语句总结

    不支持子查询*fromsrcwherekeyin(selectkeyfromtest);支持查询个数*fromsrcwherekeyin(1,2,3,4,5);in40000个耗时秒in80000个耗时秒/union不支持顶层的;支持select*from(selectkeyfromsrcunionallselectkeyfromtest)aa;不支持union支持selectdistinctkeyfrom(selectkeyfromsrcunionallselectkeyfromtest)aa;不支持不支持不支持/join/leftouterjoin/rightouterjoin/fullouterjoin/leftsemijoin都支持leftouterjoin/rightouterjoin/fullouterjoin中间必须有outerjoin是最简单的关联操作,两边关联只取交集;leftouterjoin是以左表驱动,右表不存在的key均赋值为null;rightouterjoin是以右表驱动,左表不存在的key均赋值为null;fullouterjoin全表关联,将两表完整的进行笛卡尔积操作,左右表均可赋值为null;leftsemijoin最主要的使用场景就是解决existin;Hive不支持where子句中的子查询,SQL常用的existin子句在Hive中是不支持的不支持子查询*();可用以下两种方式替换:select*=;select*=;大多数情况下JOINON和leftsemion是对等的A,B两表连接,如果B表存在重复数据当使用JOINON的时候,A,B表会关联出两条记录,应为ON上的条件符合;而是用LEFTSEMIJOIN当A表中的记录,在B表上产生符合条件之后就返回,不会再继续查找B表记录了,所以如果B表有重复,也不会产生重复的多条记录。

    leftouterjoin支持子查询*fromsrcaaleftouterjoin(select*fromtest111)=;四中数据导入方式1)从本地文件系统中导入数据到Hive表createtablewyp(idint,namestring)ROWFORMATdelimitedfieldsterminatedby\tSTOREDASTEXTFILE;loaddatalocalinpathintotablewyp;2)从HDFS上导入数据到Hive表[wypmaster/home/q/]$bin/hadoopfs-cat/home/wyp//home/wyp/intotablewyp;3)从别的表中查询出相应的数据并导入到Hive表中hivecreatetabletest(idint,namestring,telstring)partitionedby(ageint)ROWFORMATDELIMITEDFIELDSTERMINATEDBY\tSTOREDASTEXTFILE;注:test表里面用age作为了分区字段,分区:在Hive中,表的每一个分区对应表下的相应目录,所有分区的数据都是存储在对应的目录中。 比如wyp表有dt和city两个分区,则对应dt=20131218city=BJ对应表的目录为/user/hive/warehouse/dt=20131218/city=BJ,所有属于这个分区的数据都存放在这个目录中。

    hiveinsertintotabletestpartition(age=25)selectid,name,telfromwyp;也可以在select语句里面通过使用分区值来动态指明分区:=nonstrict;hiveinsertintotabletestpartition(age)selectid,name,tel,agefromwyp;Hive也支持insertoverwrite方式来插入数据hiveinsertoverwritetabletestPARTITION(age)selectid,name,tel,agefromwyp;Hive还支持多表插入hivefromwypinsertintotabletestpartition(age)selectid,name,tel,ageinsertintotabletest3selectid,namewhereage4)在创建表的时候通过从别的表中查询出相应的记录并插入到所创建的表中hivecreatetabletest4asselectid,name,telfromwyp;8.查看建表语句hiveshowcreatetabletest3;9.表重命名hiveALTERTABLEeventsRENAMETO3koobecaf;10.表增加列hiveALTERTABLEpokesADDCOLUMNS(new_colINT);11.添加一列并增加列字段注释hiveALTERTABLEinvitesADDCOLUMNS(new_col2INTCOMMENTacomment);12.删除表hiveDROPTABLEpokes;*fromtestorderbykeylimit10;14.创建数据库CreateDatabasebaseball;_type修改列的名称和类型altertableyangsyCHANGEproduct_nophone_nostring15.导入.sql文件中的sqlspark-sql--driver-class-path/home/hadoop/hive/lib/_CUSER__NO,dw_coclbl_m02__01_02_01,dw_coclbl_d01__01_01_04from(selectPRODUCT_NOfromCI_CUSER_20141114203632267)mainResultleftjoinDW_COCLBL_M02_201407dw_coclbl_m02__NO=dw_coclbl_m02__NOleftjoinDW_COCLBL_D01_20140515dw_coclbl_d01_3845ondw_coclbl_m02__NO=dw_coclbl_d01__NOinsertintoCI_CUSER_20141117142123638(PRODUCT_NO,ATTR_COL_0000,ATTR_COL_0001)_NO,dw_coclbl_m02__01_02_01,dw_coclbl_m02__01_03_01from(selectPRODUCT_NOfromCI_CUSER_20141114203632267)mainResultleftjoinDW_COCLBL_M02_201407dw_coclbl_m02__NO=dw_coclbl_m02__NOCREATETABLEci_cuser_yymmddhhmisstttttt_tmp(product_nostring)rowformatserde;LOADDATALOCALINPATH/home/ocdc/coc/yuli/OVERWRITEINTOTABLEtest_yuli2;创建支持CSV格式的testfile文件CREATETABLEtest_yuli7rowformatserdeasselect*fromCI_CUSER_20150310162729786;不依赖CSVSerde的jar包创建逗号分隔的表"createtable"+listName+"ROWFORMATDELIMITEDFIELDSTERMINATEDBY,"+"asselect*from"+listName1;createtableaaaaROWFORMATDELIMITEDFIELDSTERMINATEDBY,LINESTERMINATEDBYSTOREDASTEXTFILEasselect*fromThriftServer开启FAIR模式SparkSQLThriftServer开启FAIR调度方式:1.修改$SPARK_HOME/conf/,新增/Users/tianyi/github/community/apache-spark/conf/修改$SPARK_HOME/conf/(或新增该文件),编辑如下格式内容=""="production"/schedulingMode9.!--weight表示两个队列在minShare相同的情况下,可以使用资源的比例--/weight11.!--minShare表示优先保证的资源数--/minShare13./="test"///minShare18./pool19./allocations20.重启ThriftServer21.执行SQL前,执行=指定的队列名等操作完了createtableyangsy555likeCI_CUSER_YYMMDDHHMISSTTTTTT然后insertintoyangsy555select*fromyangsy555创建一个自增序列表,使用row_number()over()为表增加序列号以供分页查询createtableyagnsytest2asSELECTROW_NUMBER()OVER()asid,*fromyangsytest;Sparksql的解析与Hiveql的解析的执行流程:postedon2017-10-2321:03阅读(373)所属分类:。

    上一篇: GroovyHelp 3.3.0 GA发布

    下一篇:没有了