server端(biddata166主机hive/conf目录下hive-site.xml):
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://bigdata166:3306/metastore?serverTimezone=UTC</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>000000</value>
</property>
<property>
<name>hive.querylog.location</name>
<value>/user/hive/iotmp</value>
</property>
<property>
<name>hive.server2.logging.operation.log.location</name>
<value>/user/hive/operation_logs</value>
</property>
<property>
<name>datanucleus.readOnlyDatastore</name>
<value>false</value>
</property>
<property>
<name>datanucleus.fixedDatastore</name>
<value>false</value>
</property>
<property>
<name>datanucleus.autoCreateSchema</name>
<value>true</value>
</property>
<property>
<name>datanucleus.autoCreateTables</name>
<value>true</value>
</property>
<property>
<name>datanucleus.autoCreateColumns</name>
<value>true</value>
</property>
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
</configuration>
启动服务端:hive --service metastore 等待
悬停并占用会话,可用&
client端(hive-site.xml 同时需要将主机hive目录复制到客户机)
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<name>hive.metastore.local</name>
<value>false</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://bigdata166:9083</value>
</property>
</configuration>
启动客户端:hive(仅作测试和查看spark和hive互通结果)
然后将客户端配置文件发送到主机spark的conf中
cp /usr/local/hadoop-2.8.4/etc/hadoop/core-site.xml ./conf/
cp /usr/local/hadoop-2.8.4/etc/hadoop/hdfs-site.xml ./conf/
主节点上启动spark start-all.sh
shell一定要启动集群模式的(如果不用连接hive,备注掉三个文件即可 mv xxx .xxx-bak)
其它操作:
./bin/spark-shell --master spark://bigdata166:7077
spark.sql("show tables").show
spark.sql("select * from company.emp limit 10").show
spark.sql("select * from student1 limit 10").show //hive中的表
spark.sql("create table company.emp_1104(empno Int,ename String,job String,mgr String,hiredate String,sal Int,comm String,deptno Int) row format delimited fields terminated by ','");
spark.sql("load data local inpath '/testdata/emp.csv' overwrite into table company.emp_1104");
spark.sql("select * from company.emp_1104 limit 10").show
scala> spark.sql("show tables").show
+--------+---------+-----------+
|database|tableName|isTemporary|
+--------+---------+-----------+
| default| emp| false|
| default| emp_1120| false|
+--------+---------+-----------+
scala> spark.sql("create table default.student (id Int,name String,age Int) row format delimited fields terminated by "\t"").show
<console>:24: error: value \ is not a member of String
spark.sql("create table default.student (id Int,name String,age Int) row format delimited fields terminated by "\t"").show
^
<console>:24: error: value t is not a member of StringContext
spark.sql("create table default.student (id Int,name String,age Int) row format delimited fields terminated by "\t"").show
^
scala> spark.sql("create table default.student (id Int,name String,age Int) row format delimited fields terminated by '\t'").show
++
||
++
++
scala> spark.sql("show tables").show
+--------+---------+-----------+
|database|tableName|isTemporary|
+--------+---------+-----------+
| default| emp| false|
| default| emp_1120| false|
| default| student| false|
+--------+---------+-----------+
scala> spark.sql("load data local inpath '/opt/module/test/student.txt' into table default.student").show
20/01/07 06:08:10 ERROR KeyProviderCache: Could not find uri with key [dfs.encryption.key.provider.uri] to create a keyProvider !!
++
||
++
++
scala> spark.sql("show tables").show
+--------+---------+-----------+
|database|tableName|isTemporary|
+--------+---------+-----------+
| default| emp| false|
| default| emp_1120| false|
| default| student| false|
+--------+---------+-----------+
scala> spark.sql("select * from student").show
+---+----+----+
| id|name| age|
+---+----+----+
| 1| 吕布|3500|
| 2| 貂蝉|3480|
| 3| 董卓|5000|
| 4| 赵云|2500|
| 5| 张飞|2500|
+---+----+----+
