Spark学习-SparkSQL--03-SparkSQL CLI 建表查询出问题

来源:互联网 发布:网线传文件软件 编辑:程序博客网 时间:2024/05/28 22:08

1。创建并配置hive-site.xml

在运行Spark SQL CLI中需要使用到Hive Metastore,故需要在Spark中添加其uris。具体方法是在SPARK_HOME/conf目录下创建hive-site.xml文件,然后在该配置文件中,添加hive.metastore.uris属性,具体如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?>    <property>      <name>hive.metastore.uris</name>      <value>thrift://biluos.com:9083</value>      <description>Thrift URI for the remote metastore. ...</description>    </property></configuration>

2。然后启动hive的hive –service metastore ,需要先看看这个博客
http://blog.csdn.net/qq_21383435/article/details/76586031
3。启动spark
sbin/start-all.sh

4。 bin/spark-sql –master spark://biluos.com:7077 –executor-memory 512m
我用这个命令启动一个sparkSQL,黑窗口,使用这个命令需要先启动
这里写图片描述
5。监控界面什么都没有(这个可能要启动Spark history Server http://blog.csdn.net/qq_21383435/article/details/76615407)
这里写图片描述
6。然后建立一个表,Load一点数据进去,

drop table mycase;create table mycase(c_code string,c_rcode string,c_region string,c_cate string,c_start string,c_end string,c_start_m bigint,c_end_m bigint,c_name string,c_mark string) row format delimited fields terminated by ',' stored as textfile; truncate table mycase;load data local inpath '/opt/moudles/spark-2.2.0-bin-hadoop2.7.data/data100/mycase.txt' overwrite into table mycase; select * from mycase;

这里写图片描述
7。然后我去查询数据却发现数据第一次报错了,还能查出来,但是第二次就查询不出来了
这里写图片描述

这里写图片描述
下面是第二次查询直接报错
这里写图片描述

这里写图片描述
8。我特意去看看报错的目录,看了看,发现里面是有文件存储的。/opt/moudles/spark-2.2.0-bin-hadoop2.7/spark-warehouse这个目录在建立数据库,建立表格后是有数据的。
9。最后被公司大神解决

先在hdfs中建立一个文件夹 /user/sparksqlhdfs dfs -mkdir -p /user/sparksql然后执行命令第一个执行也没事,但是我的是HA集群,所以建议用下面一个去执行bin/spark-sql --master spark://biluos.com:7077 --executor-memory 512m --conf spark.sql.warehouse.dir=hdfs://biluos.com:9000/user/sparksqlbin/spark-sql --master spark://biluos.com:7077 --executor-memory 512m --conf spark.sql.warehouse.dir=hdfs://mycluster/user/sparksql

10。上面做了 /opt/moudles/spark-2.2.0-bin-hadoop2.7/spark-warehouse这个目录在建立数据库,建立表格后是没有数据的。数据都存储在HDFS的/user/sparksql/目录下,如/user/sparksql/mytest.db/mycase,而且执行SQL后,监控页面也能看到监控的信息。

原创粉丝点击