赞
踩
快速在windows机器上搭建hive和spark,在微信文章搜到一个大神写的文章,还有视频讲解,很是良心,于是跟着操作了一波,但因为某些环境不太一致,比如mysql我的版本是8.0的,导致踩了一些坑,写这篇文章记录一下,终于可以愉快的玩耍了。
大神文章链接:https://mp.weixin.qq.com/s/RWAJSwkSw1mR22yD1rPszA
本人配置的链接hive-site.xml和mysql-connector-java-8.0.21的jar包(其余配置文件可以去大神的链接下载)
网盘链接:https://pan.baidu.com/s/1KPYOKpb7lV1DlJYkF_uytg
提取码:u4fp
环境:
1.解压压缩包
2.将hadoop.dll放入C:\Windows\System32中
3.配置环境变量
在环境变量中添加
在系统变量中新增:
HADOOP_HOME = D:\set_package\bigdata\hadoop
JAVA_HOME = D:\set_package\bigdata\jdk1.8.0
HIVE_HOME = D:\set_package\bigdata\apache-hive-2.1.0-bin
找到系统变量-path:
配置如下环境变量
4.创建元数据库
我这里使用的是Navicat,新建一个hive数据库
表-按右键-运行sql文件,下面三个钩都取消
看到导入了46张表,就表示成功了
5.格式化hdfs:
打开cmd,输入hdfs namenode -format
出现name has been successfully formatted表示成功
6.测试
测试hadoop
打开cmd,输入start-dfs
弹出namenode和datanode
安装HDFS Explorer Installer.msi上传文件测试hadoop可以参考大神的视频
7.测试hive:
cmd输入hive
hive-site.xml,在大神的文件基础上增加了一些配置:
完整代码如下:
数据库密码改成你自己的
<configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&serverTimezone=UTC</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>你的mysql密码</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.cj.jdbc.Driver</value> </property> <property> <name>hive.metastore.warehouse.dir</name> <!--hive的数据存储目录,指定的位置在hdfs上的目录--> <value>file:/D:/tmp/hive/warehouse</value> </property> <property> <name>hive.metastore.schema.verification</name> <value>false</value> </property> <property> <name>hive.cli.print.header</name> <value>true</value> </property> <property> <name>hive.cli.print.current.db</name> <value>true</value> </property> </configuration>
注意,我需要用管理员打开cmd,输入hive才能运行成功。。。
导入数据和测试Hive查询请参考大神视频
8.测试sparksql
命令行输入:spark-sql2
需要先在cmd执行以下命令,解除文件权限限制
winutils chmod 777 \tmp\hive
9.pyspark访问hive
加速pip下载:
打开此电脑(win10)在地址栏输入:%HOMEPATH%,回车,进入到用户所在目录,新建一个pip的文件夹
将pip.ini放入pip文件夹中
使用管理员模式打开cmd,输入pip install pyspark2.3.2,一开始向大神一样安装pip install pyspark2.4.5,运行sparksql死活不成功,然后各种百度搜到用2.3.2版本,结果就运行成功了。
将hive-site.xml放入pyspark目录下的conf文件夹中D:\ProgramData\Anaconda3\Lib\sitepackages\pyspark\conf中
将mysql-connector-java-8.0.21.jar(取决于你的mysql版本)
放入D:\ProgramData\Anaconda3\Lib\site-packages\pyspark\jars中
10.测试sparksql
增加了代码,不加好像会报错
import findspark
findspark.init()
from pyspark.sql import SparkSession
from pyspark.sql import Row
import findspark
findspark.init()
spark = SparkSession \
.builder\
.appName("Demo") \
.enableHiveSupport()\
.getOrCreate()
sc = spark.sparkContext
spark
读取当前目录下的文件
textfile = spark.read.text(".")
textfile.count()
spark.sql("show tables").show()
spark.sql("select * from xxm_t1").show()
大功告成
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。