-
Spark- 常见问题
记录spark使用中常见问题 SparkSQL 日期解析时用到SimpleDateFormat, SimpleDateFormat是线程不安全的。可以使用 FastDateFormat 如: import org.apache.commons.lang3.time.FastDateFormat // 输入文件日期时间格式 // [10/Nov/2018:00:01:02 +0800]…- 0
- 0
- 92
-
Hadoop- HDFS的API操作
1、引入依赖 <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.6.1</version> </dependency> 注:如需手动引入ja…- 0
- 0
- 163
-
HIVE- 新建UDF范例
首先pom文件导入依赖,Hadoop和hive的依赖导入自己机器的版本,hive记得导jdbc <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.6.1</v…- 0
- 0
- 82
-
Spark- 求最受欢迎的TopN课程
数据库操作工具类 package com.rz.mobile_tag.utils import java.sql.{Connection, DriverManager, PreparedStatement} object MySQLUtils { /** * 获取数据库连接 * @return */ def getConnection()={ DriverManager.getCon…- 0
- 0
- 155
-
Spark- SparkSQL中 Row.getLong 出现NullPointerException错误的处理方法
在SparkSQL中获取Row的值,而且Row的字段允许null时,在取值的时候取到null赋值给新的变量名会报NullPointerException错误, 可以先用row.isNullAt(index)去判断该字段的值是否为空 首先上错误 修改为先初始化变量,判断row.isNullAt(6) 如果不为空就将值赋值给变量- 0
- 0
- 124
-
Scala- Double类型工具类
格式化分数,按照指定小数位四舍五入工具类 package com.rz.util object NumberUtils { /** * 格式化小数 * @param num Double对象 * @param scale 四舍五入的位数 * @return 格式化后的小数 */ def formatDouble(num: Double, scale: Int)={ val decim…- 0
- 0
- 72
-
HIVE- SCD缓慢变化维
SCD缓慢变化维,比如一个用户维表,用户属性会变化,但是不会变化很剧烈,可能一年只会变化一两次,也不会所有用户的属性都会有变化,只有少量的数据发生变化,所以叫缓慢变化维。这种问题就是由于维度的变化所造成的。 解决方式: 是否保留历史数据 保留多久历史数据 历史状态如何与事实表关联 SCD1 保留最新状态 注册日期 用户编号 手机号码 2019-01-01 0001 111111 20…- 0
- 0
- 77
-
Spark- JdbcRDD以及注意事项
先上Demo package com.rz.spark.base import java.sql.DriverManager import org.apache.spark.rdd.JdbcRDD import org.apache.spark.{SparkConf, SparkContext} object JdbcRDDDemo { def main(args: Array[St…- 0
- 0
- 65
-
Spark- 自定义排序
考察spark自定义排序 方式一:自定义一个类继承Ordered和序列化,Driver端将数据变成RDD,整理数据转成自定义类类型的RDD,使用本身排序即可。 package com.rz.spark.base import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} // 自定…- 0
- 0
- 108
-
Spark- 根据ip地址计算归属地
主要考察的是广播变量的使用: 1、将要广播的数据 IP 规则数据存放在HDFS上,(广播出去的内容一旦广播出去产就不能改变了,如果需要实时改变的规则,可以将规则放到Redis中) 2、在Spark中转成RDD,然后收集到Driver端, 3、把 IP 规则数据广播到Executor中。Driver端广播变量的引用是怎样跑到 Executor中的呢? Task在Driver端生成的,…- 0
- 0
- 161
-
Spark- 使用第三方依赖解析IP地址
使用 github上已有的开源项目 1)git clone https://github.com/wzhe06/ipdatabase.git 2)编译下载的项目: mvn clean package- DskipTests 3)安装jar包到自己的 maven仓库 mvn install: install-file -Dfile=${编译的jar包路径}/target/ipdatab…- 0
- 0
- 125
-
Spark- 使用hiveContext时提交作业报错
在spark上操作hive时不需要搭建hive环境,只需要从现有的hive集群中hive的conf目录下拷贝 hive-site.xml 到spark的conf目录下即可提交程序运行 出现报错 Caused by: org.datanucleus.exceptions.NucleusException: Attempt to invoke the "BONEC…- 0
- 0
- 68
-
DataWarehouse- 从面试定位自己的水平
1.讲一下什么是维度表和事实表。用户资料表算是什么类型表。 2. 维度建模属于第几范式,让你对维度建模改进,有什么思路吗。 3. 了解数据血缘分析吗,让你实现的话有什么技术方案,感觉难点在哪。 4. 了解数据分层吗,讲一下分四层或者五层各有什么优劣。自己摸你一个场景,给出不同的方案。 5. 数据口径不一致的问题一般在什么情况下会发生,怎么避免。- 0
- 0
- 67
-
Python- NumPy
NumPy包括的内容 NumPy系统是 Python的一种开源的数值计算扩展,是一个用 python实现的科学计算包。包括: 一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组,称为 ndarray(N-dimensional array object ) 用于对整组数据进行快速运算的标准数学函数, func( universal function object) 用于整…- 0
- 0
- 195
-
Hadoop- MapReduce分布式计算框架原理
分布式计算:原则:移动计算而尽可能减少移动数据(减少网络开销)分布式计算其实就是将单台机器上的计算拓展到多台机器上并行计算。 MapReduce是一种编程模型。Hadoop MapReduce采用Master/slave 结构。只要按照其编程规范,只需要编写少量的业务逻辑代码即可实现一个强大的海量数据并发处理程序。核心思想是:分而治之。Mapper负责分,把一个复杂的业务,任…- 0
- 0
- 114
-
Hadoop- MapReduce在实际应用中常见的调优
1、Reduce Task Number 通常来说一个block就对应一个map任务进行处理,reduce任务如果人工不去设置干预的话就一个reduce。reduce任务的个数可以通过在程序中设置 job.setNumReduceTasks(个数); ,也可在配置文件上设置reduce任务个数,默认为1, 或者在代码config中配置 Configuration configura…- 0
- 0
- 91
-
Hadoop- HDFS的Safemode
Hadoop- HDFS的Safemode hadoop启动时,NameNode启动完后就开始进入安全模式,等待DataNode向NameNode发送block report ,当datanode blocks / total blocks = 99.99%,此时安全模式才会退出 安全模式下的操作: 可以查看文件系统的文件 在安全模式期间我们有些操作是不能进行的,比如不能改变文件系统…- 0
- 0
- 112
-
Hadoop- 分布式资源管理YARN架构讲解
YARN是分布式资源管理,每一台机器都要去管理该台计算机的资源,Yarn负责为MapReduce程序分配运算硬件资源。每一台机器的管理者叫 NodeManager,整个集群的管理者管理着整个集群的NodeManager,叫 ResourceManager。资源调度和资源隔离是YARN作为一个资源管理系统最重要和最基础的两个功能。资源调度由 ResourceManager 完成,而资源…- 0
- 0
- 116
-
Hadoop- Hadoop详解
首先所有知识以官网为准,所有的内容在官网上都有展示,所有的变动与改进,新增内容都以官网为准。hadoop.apache.org Hadoop是一个开源的可拓展的分布式并行处理计算平台,利用服务器集群根据用户的自定义业务逻辑,对海量数据进行分布式处理。Hadoop提供了一个可靠的共享存储和分析系统,Hadoop的核心三大组件有HDFS(分布式文件系统),MapReduce(分布式运算编程框架),YA…- 0
- 0
- 176
-
Spark- Spark Yarn模式下跑yarn-client无法初始化SparkConext,Over usage of virtual memory
在spark yarn模式下跑yarn-client时出现无法初始化SparkContext错误. 17/09/27 16:17:54 INFO mapreduce.Job: Task Id : attempt_1428293579539_0001_m_000003_0, Status : FAILED Container [pid=7847,containerID=containe…- 0
- 0
- 91
-
Zeppelin- Linux下安装Zeppelin
前期部署: 下载,解压,配置PATH环境(编辑/etc/profile文件,记得source一下该文件) zepplin配置参考文档:https://zeppelin.apache.org/docs/0.7.2/install/configuration.html 往conf/zeppelin-env.sh文件中添加端口号 往底部添加 export ZEPPLELIN_PORT=8090 修改配置…- 0
- 0
- 112
-
Spark- ERROR Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
运行 mport org.apache.log4j.{Level, Logger} import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /** * Created by Lee_Rz on 2017/8/30. */ object SparkDemo { def main(args: A…- 0
- 0
- 148
-
Spark- ERROR Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
报错 G:\APP\JDK\bin\java -Didea.launcher.port=7532 "-Didea.launcher.bin.path=G:\APP\IntelliJ IDEA\bin" -Dfile.encoding=UTF-8 -classpath "G:\APP\JDK\jre\lib\charsets.jar;G:\APP\JDK\…- 0
- 0
- 176
-
Spark- Linux下安装Spark
Spark- Linux下安装Spark 前期部署 1.JDK安装,配置PATH 可以参考之前配置hadoop等配置 2.下载spark-1.6.1-bin-hadoop2.6.tgz,并上传到服务器解压 [root@srv01 ~]# tar -xvzf spark-1.6.1-hadoop2.6.tgz /usr/spark-1.6.1-hadoop2.6 3.在 /usr 下…- 0
- 0
- 101
-
Redis- 内存数据库Redis之安装部署
内存数据库Redis之安装部署 Redis是一款非关系型,key-value存储的内存数据库,Redis数据库完全在内存中,使用磁盘仅用于持久性。Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录。 支持丰富的数据类型:Redis支持字符串、列表、集合、有序集合散列数据类型,这使得它非常容易解决各种各样的问题。把redis看成java的一个hashmap你就入门…- 0
- 0
- 114
-
Hadoop- 流量汇总程序之如何实现hadoop的序列化接口及代码实现
流量汇总程序需求 统计每一个用户(手机号)锁耗费的总上行流量、下行流量、总流量。 流程剖析 阶段:map 读取一行数据,切分字段, 抽取手机号,上行流量,下行流量 context.write(手机号,bean) 阶段:reduce 汇总遍历每个bean,将其中的上行流量,下行流量分别累加,得到一个新的bean context.write(手机号,新bean); 代码实现…- 0
- 0
- 96
-
Hadoop- Wordcount程序原理及代码实现
如果对Hadoop- MapReduce分布式计算框架原理还不熟悉的可以先了解一下它,因为本文的wordcount程序实现就是MapReduce分而治之最经典的一个范例。 单词计数(wordcount)主要步骤: 1.读数据 2.按行处理 3.按空格切分行内单词 4.HashMap(单词,value+1) 等分给自己的数据片全部读取完之后 5.将HashMap按照首字母范围分为3个H…- 0
- 0
- 103
-
Hadoop- 集群时间同步
集群的时间要同步 * 找一台机器 时间服务器 * 所有的机器与这台机器时间进行定时的同步 比如,每日十分钟,同步一次时间 # rpm -qa|grep ntp # vi /etc/ntp.conf # vi /etc/sysconfig/ntpd # Drop root to id 'ntp:ntp' by default. SYNC_HWCLOCK=yes OP…- 0
- 0
- 71
-
Hadoop- NameNode和Secondary NameNode元数据管理机制
元数据的存储机制A、内存中有一份完整的元数据(内存meta data)B、磁盘有一个“准完整”的元数据镜像(fsimage)文件(在namenode的工作目录中)C、用于衔接内存metadata和持久化元数据镜像fsimage之间的操作日志(edits文件)NameNode和Secondary NameNode元数据管理机制客户端每次对文件的操作,如果涉及到元数据的更新(读除外),比如…- 0
- 0
- 80
-
Sqooop- 使用Sqoop进行数据的导入导出
Sqoop是Apache旗下的一个开源框架,专门用来做数据的导入和导出。 官网:https://sqoop.apache.org/ Sqoop的安装非常简单,只需要把下载下来的tar包解压设置两个环境变量就可以了 1.安装部署 下载版本:sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 官网:http://mirror.bit.edu.cn/apa…- 0
- 0
- 167
-
Hive- Hive Web Interface
当我们安装好hive时候,我们启动hive的UI界面的时候,命令: hive –-service hwi ,报错,没有war包 我们查看hive/conf/hive-default.xml.template,查找hwi 把这3台属性复制,添加到hive-site.xml里面, vim hive-site.xml <property> <name>hive.hw…- 0
- 0
- 121
-
Hive- Hive安装
Hive安装 1.1下载Hive安装包 官网:http://hive.apache.org/downloads.html 个人建议到这里下载:http://apache.forsale.plus/ 1.2将hive文件上传到HADOOP集群,并解压 将文件上传到 /usr ,解压 tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /usr/ 重命名:…- 0
- 0
- 89
-
Hadoop HA- hadoop集群部署
前期部署,至少准备3台服务器(可以是虚拟机) 1、linux系统环境准备 ip地址配置 hostname配置 hosts映射配置 关闭防火墙 service iptables stop ,也可以设置防火墙不开机自启动 chkconfig iptables off init启动级别修改 2.java环境的配置 上传jdk,解压,修改/etc/profile 3.zookeeper集群…- 0
- 0
- 124
-
大数据之路- Hadoop环境搭建(Linux)
前期部署 1.JDK 2.上传HADOOP安装包 2.1官网:http://hadoop.apache.org/ 2.2下载hadoop-2.6.1的这个tar.gz文件,官网: https://archive.apache.org/dist/hadoop/common/hadoop-2.6.1/ 下载成功后,把这个tar.gz包上传到服务器上,命令: 通…- 0
- 0
- 91
-
Hadoop HA- zookeeper安装配置
安装集群 1.1 虚拟机: 3台安装好JDK的centos Linux虚拟机 1.2 安装包: 把下载好的zookeeper安装包,官网:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.8/ 上传到服务器。 1.3解压 tar –xvzf zookeeper-3.4.8.tar.gz ,解压后放进 /usr/ 即可 …- 0
- 0
- 69
-
Zookeeper- Error contacting service. It is probably not running解决方案和原理
搭建启动Zookeeper集群出现Error contacting service. It is probably not running解决方案和原理 1.关闭防火墙 1 2 3 4 [root@srv01 bin]# zkServer.sh start JMX enabled by default Using config: /usr/zookeeper/bin/../con…- 0
- 0
- 151








































