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