sparkSQL语句总结

验证hive支持的语句,以下语句也被sparkSQL支持:

<CREATE DATABASE cvv_db;    
SHOW DATABASES;    
ALTER DATABASE cvv_db SET DBPROPERTIES(‘edited-by‘=‘cvv54‘);    
USE DEFAULT;    
DESCRIBE DATABASE cvv_db;    
DROP DATABASE cvv_db;    
CREATE TABLE t2_part(user_id BIGINT, firstname STRING, lastname STRING)
PARTITIONED BY(ds STRING);    
CREATE TABLE t1(id int,name string);    
SHOW TABLES;    
INSERT INTO  t1 VALUES (1,‘Smith‘),(10,‘Joy‘),(101,‘Jack‘);    
LOAD DATA LOCAL INPATH ‘/home/samba/data.sql‘ INTO TABLE t1;    
SELECT * FROM t1 WHERE id > 2;    
INSERT OVERWRITE TABLE t1 VALUES(1,‘Smith‘),(13,‘Joy‘),(104,‘Jack‘);    
CREATE TABLE t3 AS SELECT * from t1;    
CREATE VIEW t1_view AS SELECT id,name FROM t1 WHERE id>1;    
ALTER VIEW t1_view SET TBLPROPERTIES (‘id‘=‘view_id‘);    
ALTER VIEW t1_view RENAME TO new_t1_view;    
ALTER VIEW new_t1_view AS SELECT id,name FROM t1 WHERE id<100;    
DROP VIEW new_t1_view;    
ALTER TABLE t1 RENAME TO new_t1;    
ALTER TABLE new_t1 SET TBLPROPERTIES (‘ocean‘=‘blue‘);    
SHOW TBLPROPERTIES new_t1;    
ALTER TABLE new_t1 SET LOCATION ‘file:///home/samba/share‘;    
ALTER TABLE t2_part ADD PARTITION (ds=‘aaa‘);    
ALTER TABLE t2_part ADD PARTITION (ds=‘bbb‘)  LOCATION ‘file:///home/samba/share/bbb_new/‘;    
SHOW COLUMNS FROM new_t1;    
DESCRIBE new_t1;    
DESCRIBE  t2_part PARTITION (ds=‘aaa‘);    
ALTER TABLE new_t1  SET SERDEPROPERTIES (‘id‘=‘1‘);    
ALTER TABLE t2_part PARTITION (ds=‘aaa‘)  SET SERDEPROPERTIES (‘id‘=‘1‘);    
SHOW PARTITIONS t2_part;    
SHOW CREATE TABLE new_t1;    
ANALYZE TABLE new_t1 COMPUTE STATISTICS FOR COLUMNS;    
ALTER TABLE t2_part DROP PARTITION (ds=‘bbb‘);    
ALTER TABLE t2_part ENABLE NO_DROP;    
ALTER TABLE t2_part ENABLE OFFLINE;    
ALTER TABLE t2_part PARTITION (ds=‘aaa‘) RENAME TO PARTITION (ds=‘new_aaa‘);    
DROP TABLE new_t1;    
DROP TABLE t2_part;    
DROP TABLE t2_part;    
SHOW FUNCTIONS;

根据sparkSQL文档(http://spark.apache.org/docs/2.0.2/sql-programming-guide.html#supported-hive-features)整理出的语句:

<create table t3(id int, name string,species string);    
insert into table t3 values(1,"butterfly","a"),(2,"bee","b"),(3,"swallow","C");    
create table t2(species string,location string, height string);    
insert into t2 values(‘a‘,‘Hunan‘,‘10000000000‘),(‘b‘,‘Beijing‘,‘1231‘),(‘c‘,"Sili",‘2000‘);    
create table t1 (species string,number int, abstract string);    
insert into t1 values("a",5,"a2002"),("a",10,"a2200"),("b",20,"b2000"),("b",10,"b2003"),("a",32,"a2003"),("c",92,"c2002"),("c",20,"c2011");
CREATE TABLE variables_new ( id INT, a_cost INT , b_cost INT )  STORED AS ORC TBLPROPERTIES("transactional"="true");
select species,sum(number) as total from t1 group by species;    
select species,number,abstract from t1 order by species;    
select species,number,abstract from t1 cluster by species;    
select species,number,abstract from t1 sort by species;    
select species,number,abstract from t1 where number=10;    
select species,number,abstract from t1 where (number=10) <=> (species=‘a‘);    
select species,number,abstract from t1 where number==10;    
select species,number,abstract from t1 where number<>10;    
select species,number,abstract from t1 where number<10;    
select species,number,abstract from t1 where number>10;    
select species,number,abstract from t1 where number<=10;    
select species,number,abstract from t1 where number>=10;    
SELECT 20+30 FROM t1;    
SELECT 20-30 FROM t2;    
SELECT 20*30 FROM t3;    
SELECT 20/30 FROM t4;    
SELECT 20%30 FROM t5;    
SELECT * FROM t1 WHERE (species = ‘a‘) AND (number = 5);    
SELECT * FROM t1 WHERE (species = ‘a‘) && (number = 5);【报错】    
SELECT * FROM t1 WHERE (species = ‘a‘) OR (number = 5);    
SELECT * FROM t1 WHERE (species = ‘a‘) || (number = 5);【报错】    
select  get_json_object(‘{"store":{"fruit":\[{"weight":8,"type":"apple"},{"weight":9,"type":"pear"}],  "bicycle":{"price":19.95,"color":"red"}}, "email":"[email protected]_for_json_udf_test.net",   "owner":"amy" } ‘,‘$.owner‘) from t1;    
select round(number) from t1;    
select floor(number) from t1;    
select count(number) from t1;    
select sum(number) from t1;    
select count(species) from t1;    
select min(number) from t1;    
select max(number) from t1;    
select avg(number) from t1;    
select round(avg(number)) from t1;    
select ceil(avg(number)) from t1;    
select rand() from t1;    
select concat(species,abstract) from t1;    
select substr(‘csdfslk‘,2) from t1;    
select substr(‘csdfslk‘,2,3) from t1;    
select upper(abstract) from t1;    
select ucase(abstract) from t1;    
select lcase(abstract) from t1;    
select lower(abstract) from t1;    
select trim(abstract) from t1;    
select ltrim(abstract) from t1;    
select rtrim(abstract) from t1;    
select regexp_replace("aaacdsfsd","a","c") from t1;    
select to_date("1970-01-01 00:00:00") from t1;    
select sign(number) from t1;    
select ln(number) from t1;    
select cos(number) from t1;    
select length(abstract) from t1;    
select instr(abstract,"a") from t1;    
select printf(abstract) from t1;    
ALTER TABLE new_t1  SET SERDEPROPERTIES (‘id‘=‘1‘);    
select t1.species,t1.number,t1.abstract,t2.location,t2.height from t1,t2 where t1.species=t2.species;    
select t1.species,t1.number,t1.abstract,t2.location,t2.height from t1 inner join t2 on t1.species=t2.species order by t1.number;    
select t1.species,t1.number,t1.abstract,t2.location,t2.height from t1 full join t2 on t1.species=t2.species order by t1.number;    
select t1.species,t1.number,t1.abstract,t2.location,t2.height from t1 left join t2 on t1.species=t2.species order by t2.number;    
select t1.species,t1.number,t1.abstract,t2.location,t2.height from t1 right join t2 on t1.species=t2.species order by t3.number;    
select t1.species,t1.number,t1.abstract,t2.location,t2.height from t1 join t2 on t1.species=t2.species order by t3.number;    
select * from t1 outer join t2 ;    
select * from t1  left semi join t2 on t1.species=t2.species order by t1.number;    
select t1.species,t2.species,t1.number,t1.abstract,t2.location,t2.height from t1  cross join t2 on t1.species=t2.species order by t1.number;    
select * from(select * from t1 where t1.number>5  UNION ALL select * from t2 ) nature JOIN t3 on (nature.species = t3.species);    
select * from t3 where species in (select species from t1 where number >10);    
 EXPLAIN create table t6 as select * from t3;    
create table t5 like t3;    
 EXPLAIN create table t6 as select * from t3;    
alter table t6 rename to t66;
时间: 2024-11-08 09:59:39

sparkSQL语句总结的相关文章

Spark入门实战系列--6.SparkSQL(上)--SparkSQL简介

[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 1.SparkSQL的发展历程 1.1 Hive and Shark SparkSQL的前身是Shark,给熟悉RDBMS但又不理解MapReduce的技术人员提供快速上手的工具,Hive应运而生,它是当时唯一运行在Hadoop上的SQL-on-Hadoop工具.但是MapReduce计算过程中大量的中间磁盘落地过程消耗了大量的I/O,降低的运行效率,为了提高SQL-on-Hadoop的效率,大量的

SparkSQL相关语句总结

1.in 不支持子查询 eg. select * from src where key in(select key from test); 支持查询个数 eg. select * from src where key in(1,2,3,4,5); in 40000个 耗时25.766秒 in 80000个 耗时78.827秒 2.union all/union 不支持顶层的union all eg. select key from src UNION ALL select key from te

【Spark深入学习 -16】官网学习SparkSQL

----本节内容-------1.概览        1.1 Spark SQL        1.2 DatSets和DataFrame2.动手干活        2.1 契入点:SparkSession        2.2 创建DataFrames        2.3 非强类型结果集操作        2.4 程序化执行SQL查询        2.5 全局临时视图        2.6 创建DataSets        2.7 与RDD交互操作        2.8 聚集函数3.Sp

spark中使用sparksql对日志进行分析(属于小案例)

一:使用sparksql开发 1.sparksql开发的两种方式 HQL:SQL语句开发 eq : sqlContext.sql("xxxx") DSL : sparkSql中DataFrame的API调用方式 eq:val df=sqlContext.xxx df.select("number") 二:HQL的开发案例 1.新建目录上传日志 2.书写程序

SparkSql官方文档中文翻译(java版本)

1 概述(Overview) 2 DataFrames 2.1 入口:SQLContext(Starting Point: SQLContext) 2.2 创建DataFrames(Creating DataFrames) 2.3 DataFrame操作(DataFrame Operations) 2.4 运行SQL查询程序(Running SQL Queries Programmatically) 2.5 DataFrames与RDDs的相互转换(Interoperating with RDD

spark1.6配置sparksql 的元数据存储到postgresql中

1:首先配置hive-site.xml <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:postgresql://192.168.56.103:5432/sparksql</value> </property> <property> <name>javax.jdo.option.Co

基于sparksql调用shell脚本运行SQL

[Author]: kwu 基于sparksql调用shell脚本运行SQL,sparksql提供了类似hive中的 -e  , -f ,-i的选项 1.定时调用脚本 #!/bin/sh # upload logs to hdfs yesterday=`date --date='1 days ago' +%Y%m%d` /opt/modules/spark/bin/spark-sql -i /opt/bin/spark_opt/init.sql --master spark://10.130.2

SparkSQL配置和使用初探

1.环境 OS:Red Hat Enterprise Linux Server release 6.4 (Santiago) Hadoop:Hadoop 2.4.1 Hive:0.11.0 JDK:1.7.0_60 Spark:1.1.0(内置SparkSQL) Scala:2.11.2 2.Spark集群规划 账户:ebupt master:eb174 slaves:eb174.eb175.eb176 3.SparkSQL发展历史 2014年9月11日,发布Spark1.1.0.Spark从1

spark1.1的部署、sparksql CLI、sparksql-jdbc运用

SparkSql实际运用:在spark0.9.x中不支持jdbc操作,spark1.1会加入jdbc支持 版本说明:spark-1.1.0+scala-2.10.4+hive-0.12.0 注意:版本不匹配可能出现各种不同的问题,可能出现不能配合工作,或者运算结果不对的情况! spark1.1的发布正式版:2014/9/11 1.增加start-thriftserver.sh 服务启动,通过jdbc/odbc直接连接 bin/start-thriftserver.sh 2.sparksl CLI