Hadoop 在spark中访问配置单元表

Hadoop 在spark中访问配置单元表,hadoop,apache-spark,hive,Hadoop,Apache Spark,Hive,我已经安装了Hive 0.13并创建了自定义数据库。我使用mvn-hive选项构建了spark 1.1.0单节点集群。 我想使用hivecontext在spark应用程序中访问此数据库中的表。但是hivecontext总是读取spark目录中创建的本地元存储。我已将hive-site.xml复制到spark/conf目录中。 是否需要进行任何其他配置?步骤1: 使用最新版本安装SPARK $ cd $SPARK_Home; ./sbt/sbt -Phive assembly $ cd $SPAR

我已经安装了Hive 0.13并创建了自定义数据库。我使用mvn-hive选项构建了spark 1.1.0单节点集群。 我想使用hivecontext在spark应用程序中访问此数据库中的表。但是hivecontext总是读取spark目录中创建的本地元存储。我已将hive-site.xml复制到spark/conf目录中。
是否需要进行任何其他配置?

步骤1: 使用最新版本安装SPARK

$ cd $SPARK_Home; ./sbt/sbt -Phive assembly
$ cd $SPARK_Home; ./sbt/sbt -Phivethriftserver assembly
通过执行此命令,您将下载一些jar文件,默认情况下,它将被添加,无需添加

第二步:
hive site.xml
从您的配置单元集群复制到
$SPARK\u HOME/conf/dir
并编辑xml文件,并将这些属性添加到该文件中,该文件如下所示:

<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://MYSQL_HOST:3306/hive_{version}</value>
    <description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore/description>
</property>
<property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>XXXXXXXX</value>
    <description>Username to use against metastore database/description>
</property> 
<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>XXXXXXXX</value>
    <description>Password to use against metastore database/description>
</property>

如何将数据从配置单元检索到SPARK

第一步:
通过以下命令启动所有的迪蒙

start-all.sh
hive --service hiveserver2 & 
start-spark.sh 
RunJar 
ResourceManager 
Master 
NameNode 
SecondaryNameNode 
Worker 
Jps 
JobHistoryServer 
DataNode 
NodeManager
./sbin/start-master.sh 
第二步:
通过以下命令启动hive thrift server 2

start-all.sh
hive --service hiveserver2 & 
start-spark.sh 
RunJar 
ResourceManager 
Master 
NameNode 
SecondaryNameNode 
Worker 
Jps 
JobHistoryServer 
DataNode 
NodeManager
./sbin/start-master.sh 
第三步:
通过以下命令启动spark server

start-all.sh
hive --service hiveserver2 & 
start-spark.sh 
RunJar 
ResourceManager 
Master 
NameNode 
SecondaryNameNode 
Worker 
Jps 
JobHistoryServer 
DataNode 
NodeManager
./sbin/start-master.sh 
最后,通过使用以下命令检查是否启动了这些程序

start-all.sh
hive --service hiveserver2 & 
start-spark.sh 
RunJar 
ResourceManager 
Master 
NameNode 
SecondaryNameNode 
Worker 
Jps 
JobHistoryServer 
DataNode 
NodeManager
./sbin/start-master.sh 
第四步:
通过以下命令启动主机

start-all.sh
hive --service hiveserver2 & 
start-spark.sh 
RunJar 
ResourceManager 
Master 
NameNode 
SecondaryNameNode 
Worker 
Jps 
JobHistoryServer 
DataNode 
NodeManager
./sbin/start-master.sh 
要停止主机,请使用以下命令

./sbin/stop-master.sh
第五步:
打开一个新的终端…
从下面的路径开始直线

hadoop@localhost:/usr/local/hadoop/hive/bin$ beeline 
在它请求输入之后。。。传递下面列出的输入

!connect jdbc:hive2://localhost:10000 hadoop "" org.apache.hive.jdbc.HiveDriver 
之后,通过以下命令设置火花……
注意:在conf文件上设置这些配置,这样就不需要总是运行

set spark.master=spark://localhost:7077; 
set hive.execution.engines=spark; 
set spark.executor.memory=2g; // set the memory depends on your server
set spark.serializer=org.apache.spark.serializer.kryoSerializer; 
set spark.io.compression.codec=org.apache.spark.io.LZFCompressionCodec; 
在它请求输入之后。。。。传递要检索数据的查询。。。。打开浏览器,通过以下命令localhost:8080签入URL,您可以在URL中看到正在运行的作业和已完成的作业……

对于CDH(Cloudera Quick start VM),只需将hive-site.xml复制到$SPARK_HOME(/etc/alternations/SPARK conf),并将MySQL jar添加到/etc/alternations/SPARK-env.sh的类路径中即可。然后对VM执行“CTRL+ALT+DEL”操作,它就会工作。