suojie的博客

学习/总结/思考

JDBCUtils工具类

package com.oracleoaec.utils; import java.sql.Connection; import java.sql.SQLException; import javax.sql.DataSource; import org.apache.commons.dbu...

2019-05-10 22:36:46

阅读数 14

评论数 0

sparkSQL实战详解

1、sparkSQL层级 当我们想用sparkSQL来解决我们的需求时,其实说简单也简单,就经历了三步:读入数据 -> 对数据进行处理 -> 写入最后结果,那么这三个步骤用的主要类其实就三个:读入数据和写入最后结果用到两个类HiveContext和SQLConte...

2019-05-10 22:36:26

阅读数 38

评论数 0

行转列2

原数据 目标数据: ---方法一 select t.name, sum(decode(t.sub, '语文',score, 0)) as "语文", sum(decode(t.sub, '数学',score, 0)) as &quo...

2019-05-10 22:35:00

阅读数 10

评论数 0

oracle 行转列

原来的数据是: 期望的数据是: sql语句: insert into emp (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values ('7369', 'SMITH', 'CLERK', '7902', '12...

2019-05-10 22:15:37

阅读数 14

评论数 0

Linux下查看某个进程占用的CPU、内存

1、用top命令指定固定的PID top -p 10997 查询指定进程的PID ps -ef | grep zookeeper jim 10997 1959 0 12月14 pts/2 00:00:01 /usr/lib/jvm/java-8-oracle/bi...

2019-04-04 17:38:19

阅读数 23

评论数 0

Linux shell之提取文件名和目录名

用于字符串的读取,提取和替换功能,可以使用用于字符串的读取,提取和替换功能,可以使用{} 提取字符串 1、提取文件名 [root@localhost log]# var=/dir1/dir2/file.txt [root@localhost log]# echo ${var##*/} fil...

2019-04-04 17:26:38

阅读数 22

评论数 0

Spark Sql 性能调优

对于某些工作负载,可以通过在内存中缓存数据或打开一些实验选项来提高性能。 在内存中缓存数据 Spark SQL可以通过调用spark.catalog.cacheTable(“tableName”)或使用内存中的列式格式来缓存表.dataFrame.cache()。然后,Spark SQL将仅扫...

2019-03-24 09:35:43

阅读数 46

评论数 0

SparkSQL常用性能优化

一、代码优化 1.在数据统计的时候选择高性能算子。 例如Dataframe使用foreachPartitions将数据写入数据库,不要每个record都去拿一次数据库连接。通常写法是每个partition拿一次数据库连接。 /** * 将统计结果写入MySQL中 * 代...

2019-03-24 09:35:00

阅读数 77

评论数 0

Hive中跑MapReduce Job出现OOM问题分析及解决

一、引子 今天在跑一段很复杂而且涉及数据量10多年的N个表join的长SQL时,发生了OOM的异常。 由于一个map通常配置只有64MB或者128MB,则在Map阶段出现OOM的情况很少见。所以一般发生在reduce阶段。 但是今天这个异常详细的看后,会发现既不是map阶段,也不是redu...

2019-03-23 22:26:18

阅读数 120

评论数 0

hive中UDF、UDAF和UDTF使用

Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。 一、背景:Hive是基于Hadoop中的MapReduce,提供HQL查询的数据仓库。Hive是一个很开放的系统,很多内容都支持用户定制,包括: a)文件格式:Tex...

2019-03-23 22:25:20

阅读数 86

评论数 0

spark面试问题收集

spark面试问题 1、spark中的RDD是什么,有哪些特性 RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。 Dataset:就是一个集合,用于存放数据的 Di...

2019-03-23 22:20:06

阅读数 96

评论数 0

Hadoop分块与分片介绍及分片和分块大小相同的原因

概念介绍 分块 在HDFS系统中,为了便于文件的管理和备份,引入分块概念(block)。这里的块是HDFS存储系统当中的最小单位,HDFS默认定义一个块的大小为64MB。当有文件上传到HDFS上时,若文件大小大于设置的块大小,则该文件会被切分存储为多个块,多个块可以存放在不同的DataNode...

2019-03-23 22:19:17

阅读数 24

评论数 0

Hadoop之分块、分片与shuffle机制详解

一 分块(Block) HDFS存储系统中,引入了文件系统的分块概念(block),块是存储的最小单位,HDFS定义其大小为64MB。与单磁盘文件系统相似,存储在 HDFS上的文件均存储为多个块,不同的是,如果某文件大小没有到达64MB,该文件也不会占据整个块空间。在分布式的HDFS集群上,Ha...

2019-03-23 22:18:15

阅读数 52

评论数 0

Hive分区、分桶操作及其区别

1,Hive分区。 是指按照数据表的某列或某些列分为多个区,区从形式上可以理解为文件夹,比如我们要收集某个大型网站的日志数据,一个网站每天的日志数据存在同一张表上,由于每天会生成大量的日志,导致数据表的内容巨大,在查询时进行全表扫描耗费的资源非常多。那其实这个情况下,我们可以按照日期对数据表进...

2019-03-23 22:15:58

阅读数 58

评论数 0

hadoop中各组件的作用

Hadoop=HDFS+Yarn+MapReduce+Hbase+Hive+Pig+… 1.HDFS:分布式文件系统,隐藏集群细节,可以看做一块儿超大硬盘 主:namenode,secondarynamenode 从:datanode 2.Yarn:分布式资源管理系统,用于同一管理...

2019-03-23 22:15:02

阅读数 140

评论数 0

Hadoop 2.0工作原理学习

1 HDFS简介 1.1 Hadoop 2.0介绍 Hadoop是Apache的一个分布式系统基础架构,可以为海量数据提供存储和计算。Hadoop 2.0即第二代Hadoop系统,其框架最核心的设计是HDFS、MapReduce和YARN。其中,HDFS为海量数据提供存储,MapReduce用...

2019-03-23 22:14:14

阅读数 49

评论数 0

Hadoop生态圈技术概述

本文对hadoop生态圈技术做一个概要的介绍,文章中的前半部分的信息大多来自于网络,这里只是按照自己的学习思路整理了下。包括如下内容: hadoop诞生记 hadoop生态圈 常见组件简介 组件下载 学习路线 一、hadoop诞生记 最早Doug Cutting(后面被称为hadoop...

2019-03-23 22:12:52

阅读数 109

评论数 0

hive优化

1.介绍   首先,我们来看看Hadoop的计算框架特性,在此特性下会衍生哪些问题? 数据量大不是问题,数据倾斜是个问题。 jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,耗时很长。原因是map reduce作业初始化的时间是比较长的...

2019-03-23 22:11:31

阅读数 16

评论数 0

scala---stripMargin

问题描述: 在Scala代码块中如何创建多行字符串,是否存在类似其他语言的“定界符”语法? 解决方法: 要在Scala中创建多行字符串,就需要了解Scala的Multiline String。在Scala中,利用三个双引号包围多行字符串就可以实现。 代码实例如: val foo = “...

2019-03-19 17:58:54

阅读数 34

评论数 0

宽依赖和窄依赖

宽依赖与窄依赖 窄依赖是指父RDD的每个分区只被子RDD的一个分区所使用,子RDD分区通常对应常数个父RDD分区(O(1),与数据规模无关) 相应的,宽依赖是指父RDD的每个分区都可能被多个子RDD分区所使用,子RDD分区通常对应所有的父RDD分区(O(n),与数据规模有关) 宽依赖和窄依赖如...

2019-03-19 15:43:49

阅读数 16

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭