本文共 2746 字,大约阅读时间需要 9 分钟。
围绕大数据、数据挖掘、人工智能有很多名词,这些名词都互相关联,不太懂的人可能只是把他们当做高级码农的一个分支,但是,其中的真正技术却并不是一半码农能够做的,或者这些领域可能就不是码农干的事,即便做这些的人可能是个java或者python开发者,但是编程只是他们的副业而已,他们的主业却是数据科学。但是,有一个问题,既然是副业,也就是说这些数据科学家并不是太会编程,然而,不会编程,数据处理时很艰难的,为了解决这个棘手的问题,程序员们开发了一种新的模式,数据科学家往往都很精通数据库,即sql处理,因此搭建了一个sql到编程的一个桥梁,即hive。
hive的设计目的
hive设计的目的就是让精通sql技能的分析师能够对利用大数据算法进行数据操作(增删改查),这些大数据算法都是程序员们的做的,或者说是程序员们设计的。更加优美的解释
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。hive架构
hive搭建
ERROR org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader: Encountered exception on operation AddOp [length=0, inodeId=16828, path=/usr/output/friendSort/_SUCCESS, replication=3, mtime=1525359058429
网上的解决办法:
主节点命令输入:启安全模式,并保存,离开sudo -u hdfs hdfs dfsadmin -safemode entersudo -u hdfs hdfs dfsadmin -saveNamespacesudo -u hdfs hdfs dfsadmin -safemode leave辅节点命令输入:获取上面保存的fsimage,恢复(具体啥意思我也没弄清楚,应该技术恢复之前的数据,擦除当前的)sudo -u hdfs hdfs namenode -bootstrapStandby -force
javax.jdo.option.ConnectionURL jdbc:mysql://localhost:3306/metastore?createDatabaseIfNotExist=true javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver javax.jdo.option.ConnectionUserName root javax.jdo.option.ConnectionPassword root “` * 安装mysql,并创建metastore数据库,设置用户权限(否则无法访问) * 启动hive,成功:直接输入hive命令(这里面错误可能很多,部分错误解决办法如下)
hive --service metastore
ps -ef |grep hive
将hive 相关进程kill 掉。kill -9 2545
,然后重新启动:hive --service metastore
select host,user,password from mysql.user;
,修改权限update mysql.user set host = '%' where user = 'root' and host = '127.0.0.1';
,刷新修改flushprivileges;
rpm -q mysql
查看mysql安装的服务,少那个重新安装更多hive内容:
相关博客:
转载地址:http://ehepi.baihongyu.com/