在EMR的primary终端下,输入spark-sql命令即可启动Spark SQL-shell:
EMR中的spark默认将metadata也存储在MySQL中,MySQL的密码可以从hive的配置找到:
cat /etc/hive/conf/hive-site.xml | grep -C 10 pass
使用该密码登录MySQL:
Spark中的库名存储在DBS下:
在spark SQL shell中创建两个数据库:
create database mydb;
create database mydb2;
在MySQL中查询到了对应的数据库名。
在spark sql shell中执行describe database mydb;
, 看到它将文件通过NameNode RPC存储在了HDFS中:
通过执行hdfs命令也可以确认:
使用Spark SQL Shell创建一张表:
create table if not exists mydb.employees(name string, age integer) row format delimited fields terminated by ',';
可以看到表的metadata也存储在MySQL的TBL表中:
spark-sql --master spark://node5:7077
。