大数据入门
从大数据最基本的技术分享与学习,到大数据技术实践。包含hadoop,hive,zookeeper,spark,stom等大数据相关的常用技术,以及mongoDB,Redis,MySQL等大数据常用数据库等。此专栏适合毫无经验或经验不足的新人。
筱Mary
奋斗的女汉子 @Mary
展开
-
pyspark.sql.utils.AnalysisException: u‘java.lang.IllegalArgumentException: Wrong FS
问题用pyspark写了程序,但是在跑的过程中报 pyspark.sql.utils.AnalysisException: u'java.lang.IllegalArgumentException: Wrong FS: hdfs://现有代码的配置信息spark = SparkSession.builder.appName(spark_application_name). \ config('spark.port.maxRetries', 500). \ config('spark.d原创 2021-09-06 16:36:03 · 2139 阅读 · 0 评论 -
HAWQ 权限 (用户/角色)-
最近开始学习hawq,刚开始用就遇到很多问题,在google各种搜索,因为这个工具在国内用的还不是很多,或者说能找到到的资料很少,各论坛也很少讨论hawq的,所以想把自己从头学习的hawq的一丢丢知识跟大家分享。新手入门,如果出现不对的,还望大神指教。hawq,这是一个建立在hdfs 上的 具有SQL 分析引擎的工具,支持SQL。我使用的hawq是已经安装好的,所以目前比较着急就是需要学习以及使用h原创 2017-03-16 20:17:06 · 2083 阅读 · 1 评论 -
Hawq 配置本地使用psql登陆
Hadoop集群已经装完了hawq,可是只会用超级管理员使用免密码登陆 psql -d test,昨天配置了几个角色,可是并不知怎么使用,然后就查看了官方文档,尝试多次,就是用一般用户登上了hawq。准备工作: 1. Hadoop 集群 2. 集群上hawq 3. 使用超级用户创建role ,create role data with login,进行授权。创建角色以及设置角色请参考HAWQ权原创 2017-03-17 10:14:52 · 1662 阅读 · 0 评论 -
HAWQ 强制停止master
当我修改配置文件后,我将所有的hawq连接都断开,使用 hawq stop master 命令结果提示如下错误...-/home/gpadmin/hawqAdminLogs/hawq_stop_20170317.logOnly support two arguements.意思应该是还有未断的arguements。这时应该使用 hawq stop master -M immediate 意味不考原创 2017-03-17 11:48:59 · 1153 阅读 · 0 评论 -
Hive join 优化实战
由于 hive 与传统关系型数据库面对的业务场景及底层技术架构都有着很大差异,因此,传统数据库领域的一些技能放到 Hive 中可能已不再适用。关于 hive 的优化与原理、应用的文章,前面也陆陆续续的介绍了一些,但大多都偏向理论层面,本文就介绍一个实例,从实例中一步步加深对 hive 调优的认识与意识。1、需求需求我做了简化,很简单,两张表做个 join,求指定城市,每天的 pv,用传统的 RDBM转载 2016-08-02 14:12:28 · 3556 阅读 · 0 评论 -
beeline 使用
最近对hive设置权限,具体设置权限的方法请参考http://blog.csdn.net/qq_31382921/article/details/71133323,使用beeline的时候总会出现各种小问题,毕竟还是跟hive有点区别。beeline 常用语法: 1. beeline -u “jdbc:hive2://nn02:10000/default” -n maxiaoli -e “sel原创 2017-06-29 19:03:19 · 31751 阅读 · 0 评论 -
mysql 出现 Access denied for user'root'@'ipAddress'(using password :yes)
环境:linux机器装的mysql,我用 window 来访问 mysql就出现了这样的错误提示Access denied for user'root'@'ipAddress'(using password :yes) 在网上搜索之后发现是因为没有权限。 解决方法:进入 linux 系统下,执行 mysql -h localhost -uroot 进入mysql命令行,再执行 grant all原创 2016-12-14 17:06:50 · 1352 阅读 · 0 评论 -
mysql 授权与回收权限
授权:授权的关键字是grant,使用grant···to··· 授权 1. 给用户 授权 grant all privileges on *.* to root; 2. 给某个ip授权,使指定ip有权限访问mysql数据库grant all privileges on *.* to root@ip identified by '密码' with grant option;回收权利:关键字 re原创 2016-12-14 17:26:05 · 8392 阅读 · 2 评论 -
优化mysql连接数访问量
如果mysql 出现 MySQL: ERROR 1040: Too many connections 有两种原因,第一种表明访问量过高,mysql服务器扛不住了,就要考虑添加服务器分担压力,第二种有可能就是mysql配置文件max_connections这个值太小 我在我的mysql查询mysql 最大连接数 服务器响应的最大连接数 如果你查询的结果服务器响应连接数远远小于sql连接数,那么这儿原创 2016-12-14 18:57:16 · 6472 阅读 · 0 评论 -
centos7使用rpm安装mysql
折腾了两天,走了好多弯路,终于安装上mysql了,希望这篇博客帮个各个博友少走弯路,顺利安装mysql。准备: centos 7.2_64位的,如果不清楚自己系统的位数,可以通过file /bin/ls 查看基本rpm使用语句:1. 查看有没有旧版本 的mysqlrpm -qa | grep -i mysql2. 卸载旧版本的mysql rpm -ev mysql-libs-5.1.71-1.原创 2016-12-16 17:50:27 · 5691 阅读 · 0 评论 -
cento7安装的mysql重置密码
一般安装后在日志里面可以看到mysql 的root 的初始密码,但是今天装了一台机器,日志中没有提及,只能手动修改密码。关闭mysql服务 service mysqld stop修改mysql的配置文件,使myslq登陆时跳过密码项,修改/etc/my.cnf 的 [mysqld] 部分,添加 skip-grant-tables 保存退出,就是说,登陆时跳过权限认证。启动mysql服务,ser原创 2016-12-19 16:18:32 · 1867 阅读 · 0 评论 -
使用rpm -q mysql 出现 package mysql is not installed
在我安装的过程中,明明安装成功了mysql,使用rpm -q mysql命令却出现 package mysql is not installed ,然后我就误以为没有装上,配置文件各种改,一直寻找没有安装成功的原因。使用 service mysqld start也没有任何提示信息,折腾好久才发现,mysql早就已经装上了!rpm -q 服务名 的确可以查看已经安装的 mysql服务,但是服务名必须是原创 2016-12-20 11:04:58 · 32582 阅读 · 1 评论 -
union和union all 的区别
使用union关键字时,可以给出多条select 语句,并将它们的结果合成单个结果集。合并时两个表对应的列数和数据类型必须相同,每个select 语句之间使用union或union all 关键字分隔,union 执行的时候删除重复的记录,所有返回的行都是唯一,使用union all 关键字的作用是不删除重复行也不对结果进行自动排序。 例如:mysql> select s_id,f_name fr原创 2016-12-28 16:31:47 · 824 阅读 · 0 评论 -
inner join 和 outer join
经常使用的是 left join 和 right join ,对于其他的 join 用法所知甚少,查了下资料,才具体的了解各种join 的区别以及用法。join 分为两种 inner join 和 outer join ,其中 outer join 又包括 left (outer)join ,right (outer)join ,full join。我这里有两个表 test_1 a表 表原创 2017-02-06 12:32:01 · 5740 阅读 · 0 评论 -
join in where
这也不是我第一次接触和使用sql 的 join in了,之前写的join in 的where条件从没有考虑过先join还是先where,因为我觉得除了先用where比较优化外,这两者的结果是一样的。以前没有遇到问题,但是现在问题却出现了先join还是先where上,事实证明我是错的,为了告诫大家,以此博客献给SQL入门的小伙伴。 我写的两句SQL 1. 先where 后joinselec原创 2017-02-23 11:34:47 · 1164 阅读 · 0 评论 -
【MySQL】触发器入门
MySQL 5.1包含对触发器的支持。触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器的执行。【创建触发器】在MySQL中,创建触发器语法如下: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt其转载 2017-10-31 17:41:15 · 590 阅读 · 0 评论 -
Linux 普通用户之间免密登陆
环境centos6.5 NN01 centos6.5 NN02目的:同台机器之间实现普通用户之间的免密登陆: NN01 的user1 免密登陆 user2不同机器之间实现普通用户之间的免密登陆 :NN01 的user1 免密登陆 NN01 的user1一.同台机器之间实现普通用户之间的免密登陆普通用户之间的免密登陆和 使用root 进行免密登陆,基本设置都是一样的,只不过普通用户之间需原创 2017-09-14 18:48:48 · 22208 阅读 · 2 评论 -
Linux vi 撤销与取消撤销
用习惯了window编辑,改用linux 编辑,还有些不习惯,但是linux 下的vi 编辑用多了,可比window下编辑要快哦。在linux系统中,使用vi编辑,在命令行模式(按ESC)下 按 u 是撤销,相当于windows 下的ctrl+z,取消上一步操作是 ctrl+r 相当于window下的 ctrl+y,有了这两个快捷键操作起来就会方便很多。原创 2017-09-15 17:25:49 · 31294 阅读 · 0 评论 -
linux 定时任务的设置
为当前用户创建cron服务键入 crontab -e 编辑crontab服务文件例如 文件内容如下:/2 * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh 保存文件并并退出/2 * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh/2 * * * 通过这段字段可以设定什么时候执行脚本/b转载 2016-08-05 14:54:09 · 394 阅读 · 0 评论 -
HDP 对应的个组件的版本信息
hdp 2.4以及以下的版本可以参考:2.4 和 2.5 的版本原创 2016-12-13 15:38:02 · 8325 阅读 · 3 评论 -
shell脚本报错"[: =: unary operator expected"
今天用while写了一个循环,结果执行后就报错 [: =: unary operator expected上网查了之后便更改了脚本,在while后面多加一层[] ,就可以正确执行while [[ $day != $end_month ]]doday=`date -d "+ next month $day" +%Y-%m-%d`done原创 2017-03-22 15:48:50 · 9453 阅读 · 2 评论 -
在虚拟机中安装centos遇到的问题
系统镜像: CentOS-6.5-x86_64-bin-DVD1.iso在虚拟机中安装centos 6.5 出现以下错误 :vmware 您要在非EFI系统中使用GPT引导盘 这样可能无法工作 这取决于您的bios 是否支持从GPT盘引导。分析出现该错误出现的可能原因: 之前在该机器上面安装ubuntu未成功,但磁盘已经按照linux系统进行格式化。安装ubuntu失败后安装了window se原创 2017-05-17 15:47:52 · 4130 阅读 · 0 评论 -
虚拟机安装的系统界面很大的解决办法
在虚拟机安装centos系统时,里面的系统界面很大,很不方便操作,问题如下: 只能拖动右边和下面的滚动条进行操作,当然这是因为虚拟机和本机的分辨率不同引起的。 有两种方法可以将虚拟机中的系统和本机界面相适应 1. 在虚拟机的菜单栏中点击查看-自动调整大小-自动使用客户机 但有时这种对于虚拟机不起效,需要在高级里面修改虚拟机的分辨率 2. 修改虚拟机设置 在分辨率的下拉菜单原创 2017-05-17 16:57:06 · 7036 阅读 · 0 评论 -
YUM本地源制作
前言大家都知道yum是非常好的rpm软件包管理器,yum可以简化软件的安装过程,使用yum install 可以直接安装需要的软件以及其依赖的包,无需自己繁琐一次次下载与安装。常用命令安装httpd并确认安装yum instll -y httpd列出所有可用的package和package组yum list清除所有缓冲数据yum clean all列出一个包所有依赖的包yum deplist原创 2017-11-27 18:04:24 · 653 阅读 · 0 评论 -
yarn 详解
hadoop 2 以后没有Tasktrcker和Jobtracker,原因是原MapReduce 框架有很多不足,进而产生了yarn,这篇博客就是讲述yarn以及原MapReduce的不足之处。背景 Yarn是一个分布式的资源管理系统,用以提高分布式的集群环境下的资源利用率,这些资源包括内存、IO、网络、磁盘等。其产生的原因是为了解决原MapReduce框架的不足。最初MapRedu原创 2016-08-10 10:44:15 · 733 阅读 · 0 评论 -
hdfs balancer 源程序详解
最近集群存储倾斜,个别节点存储超过85%,启动balancer之后效果明显,但是有时候balancer启动也不能解决问题。从运维阶段就知道有这么一个balancer,今天终于憋了一口气看看balancer到底咋回事。版本还是1.0.3首先balancer在org.apache.Hadoop.hdfs.server.balancer,balancer作为一个独立程序启动,听说之前是在namenode内转载 2017-04-26 10:37:48 · 2395 阅读 · 2 评论 -
Kylin 安装以及spark cube 的创建
一. 准备 下载kylin安装包 http://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.2.0/apache-kylin-2.2.0-bin-hbase1x.tar.gz二. 环境 1. Hadoop: 2.7+ Hive: 0.13 - 1.2.1+ HBase: 0.98 - 0.99, 1.1+ JDK: 1...原创 2017-11-29 18:07:10 · 2408 阅读 · 0 评论 -
MongoDB Remove函数的3个常见用法
在MongoDB中,db.collection.remove()方法用来从文档中删除文档。可以从一个集合中删除所有文档,删除匹配一个条件的所有文档,或者限制操作只删除一条文档。删除所有文档:删除集合中的所有文档,需要传递一个空的query文档{}给remove()方法。remove()方法不会删除索引。下面是从inventory集合中删除所有文档的例子: 复制代码 代码如下:db.inventor转载 2017-08-03 14:46:40 · 10650 阅读 · 0 评论 -
hive表信息查询:查看表结构、表操作等
问题导读: 1.如何查看hive表结构? 2.如何查看表结构信息? 3.如何查看分区信息? 4.哪个命令可以模糊搜索表1.hive模糊搜索表show tables like ‘name‘;2.查看表结构信息 desc formatted table_name; desc table_name;3.查看分区信息 show partitions table_name;4.根据分转载 2016-08-01 18:53:52 · 875 阅读 · 0 评论 -
Hive 的insert into 和 insert overwrite
1、insert into 语句Hive> insert into table account select id,age,name from account_tmp;2、insert overwrite语句hive> insert overwrite table account2 select id,age,name from account_tmp;插入的数据: 001 20 zhangs原创 2017-04-28 14:49:27 · 113161 阅读 · 2 评论 -
Hive 强制删除数据库
删除数据库时,遇到如下问题FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. InvalidOperationException(message:Database tmp is not empty. One or more tables exist.)是因为数据库中有表不能直接删除,原创 2017-03-08 09:25:41 · 20511 阅读 · 1 评论 -
用正则表达式匹配电话号码
在hive中,使用正则表达式来筛选电话号码,电话号码不像手机号一样,电话比较难匹配,需要考虑的情况也比较多,所以在这里我使用正则表达式匹配所有的电话号码,比较长,只要用耐心就比较好整理。 号码由数字或‘-’组成,位数在10到12位之间,其中区号3-4位,号码7-8位length(regexp_replace(receiver,'-',''))<=12 and (substr(receiver,原创 2017-01-19 14:06:40 · 3218 阅读 · 0 评论 -
Hive UI 界面的访问方法
环境:hdp 2.4hdp 2.4 对应的hive版本是1.2.1如果是hdp 2.4 以及以下的版本,可以参考HDP2.4 及以下各组件版本安装Hive hwi 的方法:1. 下载源代码,根据自己的hive版本下载 http://archive.apache.org/dist/hive/apache-hive-1.2.1-src.tar.gz2. 解压后将 ./hwi/web/ 目录打包成 hiv原创 2016-12-13 16:23:06 · 8599 阅读 · 0 评论 -
Hive 转换数据类型后导入表
Hive 的内置数据类型可以分为两大类:基础数据类型和复杂数据类型。其中基础数据类型包括 tinyint,smallint,int,bigint,boolean,float,double,string,binary,timestamp,decimal,char,varchar,date 复杂类型包括array,map,struct,union,这些复杂类型是由基础类型组成的。 而hive数据类型原创 2016-11-23 18:28:35 · 1517 阅读 · 0 评论 -
hive查看是外部表还是内部表
我知道的有两个方法: 第一种方法是 进入hive,执行 describe extended tablename; 查看表的详细信息。 如果是外部表,在详细信息的最后一行,会输出 tableType:EXTERNAL_TABLE 如果是内部表/管理表,则会显示tableType:MANAGD_TABLE如果是外部表,则会显示tableType:EXTERNAL_TABLE第二种方法是 在hi原创 2016-11-08 15:57:19 · 12369 阅读 · 0 评论 -
Hive中select * 没有数据,而select count(*)有数据解决方法
刚接触Hive,之前建表都是 external 表,这种表就是基于有外部.csv数据文件的,只要在建表时指明location,然后再将数据文件放到该路径就OK,今天建了一张普通表,发现这里面的数据不正常,我用select * from table_name没有数据,但是select count(*)明明有300行数据,从头检查到尾,发现我建普通表的时候,竟然加上了location! 我是这样写的(原创 2016-08-04 15:01:52 · 8884 阅读 · 0 评论 -
Hive解决SQL的join or
在处理数据时,遇到join on的条件有多个,然而hive不支持on or,因此问了度娘,找了google才发现这东西还涉及hive优化,吭哧了一下午终于弄出来,心情豁然开朗,希望本文能帮到遇到难题的你们。 我的一个表是有关电话号码的,另一个表是解析这个电话号码的,分析号码的省,市,服务商,手机号就取前7位获得省市服务商,固话就取前3/4位,所以问题就来了,join 后面的条件有多个,要是sql是原创 2016-08-02 16:11:18 · 20155 阅读 · 6 评论 -
Hive Metastore 启动成功又失败
hive 在正常使用中 metastore 忽然停掉,查看日志,报一下错误:2017-06-19 12:11:15,134 ERROR [main]: metastore.HiveMetaStore (HiveMetaStore.java:startMetaStore(6080)) - org.apache.thrift.transport.TTransportException: Could no原创 2017-06-19 15:32:18 · 9404 阅读 · 0 评论 -
Hive数据导出三种方式
今天我们再谈谈Hive中的三种不同的数据导出方式。 根据导出的地方不一样,将这些方式分为三种: (1)、导出到本地文件系统; (2)、导出到HDFS中; (3)、导出到Hive的另一个表中。 为了避免单纯的文字,我将一步一步地用命令进行说明。一、导出到本地文件系统hive> insert overwrite local directory '/home/wyp/wyp' > sel转载 2017-07-18 17:28:40 · 6815 阅读 · 0 评论 -
HADOOP HDFS BALANCER介绍及经验总结
1.集群执行balancer命令,依旧不平衡的原因是什么?该如何解决?2.尽量不在NameNode上执行start-balancer.sh的原因是什么?集群平衡介绍Hadoop的HDFS集群非常容易出现机器与机器之间磁盘利用率不平衡的情况,比如集群中添加新的数据节点。当HDFS出现不平衡状况的时候,将引发很多问题,比如MR程序无法很好地利用本地计算的优势,机器之间无法达到更好的网络带宽使用率,机器磁转载 2017-04-26 11:12:28 · 2607 阅读 · 0 评论