自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

旧时明月

旧时明月

  • 博客(155)
  • 资源 (12)
  • 收藏
  • 关注

原创 hadoop配置相关

core-site.xml<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://earth</value> <final>true</final> </property> &...

2020-01-03 15:33:42 399

原创 数据仓库的建模方法

数据仓库的建模方法一: 范式建模1、每个属性值唯一,不具有多义性; 2、每个非主属性,必须完全依赖于整个主键,而非主键的一部分; 3、每个非主属性不能依赖于其他关系的属性业务数据模型转向模型,同样也需要数据仓库的域模型,也叫概念模型,同时也要有域领域的逻辑模型数据仓库的域模型比业务系统的主题范围更加广泛数据仓库的逻辑模型需要从数据模型的逻辑中的抽象实体二:维度建模...

2018-03-02 23:31:32 1862

原创 transwarp Slipstream 简介之实战应用

Application间的资源隔离Exg:用户在基于某个App下的Stream时,只能在改App下查看该App下的StreamJob;当用户退出该App时,将无法查看其他App下的StreamJob只能查看当前App下的StreamJob。流上的统计Emily接到了老板的第一个任务:如何实现对网站访问次数做统计。假设源数据如下: 27.0.1.125,www.transwarp.io/home

2017-12-15 16:48:47 2003

原创 transwarp Slipstream 简介之高级功能

1. 监控告警Slipstream整合监控告警工具Alert4J,用于在流应用出问题的时候报错,支持邮件推送,也可以与微信、其 他监控工具整合。 Alert4J当前版本没有专门的配置界面,将在下个版本时支持。当前版本可以通过增加alert4j.properties文 件支持。下面是该文件的一般配置内容,以邮件推送为例: alert4j.service=email email.server.ho

2017-12-15 15:35:37 4954

原创 transwarp Slipstream 简介之事件驱动流处理

1. 从流表导数据到普通表SET streamsql.use.eventmode=true;CREATE STREAM s1(score INT, name STRING) TBLPROPERTIES("topic"="tps1","kafka.zookeeper"="tw- node127:2181", "kafka.broker.list"="tw-node127:9092");

2017-12-15 14:26:14 1211

原创 transwarp Slipstream 简介之运行时的管理

背压功能(Back Pressure)在Slipstream中,数据源发来的消息量大时,出于稳定性的考虑,有时会需要让receiver暂停接收发来的消 息,这个功能称为背压功能。设置方法如下:SET streamsql.enable.backpressure.receiver=true; 1 SET streamsql.backpressure.max.pendingJobs=<int>; 21 打

2017-12-15 14:11:25 747

原创 transwarp Slipstream 简介之权限管理

Slipstream权限管理简介 Slipstream采用基于SQL的权限管理: • 管理员可以管理角色(ROLE); • 用户或角色可以被授予或收回对不同数据对象的权限。 Slipstream的管理员角色的获取、角色管理以及对 DATABASE, VIEW 和 TABLE 这三个数据对象的权限 管理和Inceptor SQL一致。您可以直接查看《Transwarp Inceptor 使用手

2017-12-15 14:04:31 653

原创 transwarp Slipstream 简介之DDL|DML

Slipstream的优势:微批模式和事件驱动模式的(创建Stream的方式和简表语句基本相同,随心所欲) * 一体化极高的易用性(低门槛,只要会SQL就可以) * 性能提升(无需编码) * 产品化程度高(封装程度高) * 迁移成本低(基本不需迁移,Stream里面的数据可以直接通过查询insert到另一张表中)创建Stream及触发StreamJob的形式: 1.首先登入集群中的任意一个

2017-12-15 13:26:48 2949

转载 Hadoop 2.6.3动态增加/删除DataNode节点

Hadoop版本为:2.6.3一、动态增加DataNode1、准备新的DataNode节点机器,配置SSH互信,可以直接复制已有DataNode中.ssh目录中的authorized_keys和id_rsa2、复制Hadoop运行目录、hdfs目录及tmp目录至新的DataNode3、在新DataNode上启动hadoop..sbin/hadoop-daemon.sh start datanode

2017-10-28 07:11:02 408

转载 Namenode HA原理详解

Namenode HA原理详解社区hadoop2.2.0 release版本开始支持NameNode的HA,本文将详细描述NameNode HA内部的设计与实现。 一、为什么要Namenode HA?1. NameNode High Availability即高可用。2. NameNode 很重要,挂掉会导致存储停止服务,无法进行数据的读写,

2017-10-21 22:54:37 361

原创 Checkpoint原理剖析

Checkpoint是什么?Checkpoint,是Spark提供的一个比较高级的功能。有的时候啊,比如说,我们的Spark应用程序,特别的复杂,然后呢,从初始的RDD开始,到最后整个应用程序完成,有非常多的步骤,比如超过20个transformation操作。而且呢,整个应用运行的时间也特别长,比如通常要运行1~5个小时。在上述情况下,就比较适合使用checkpoint功能。因为,对于特别复杂的S

2017-10-21 21:58:24 2006

原创 BlockManager原理剖析与源码分析

BlockManager 会运行在 driver 和 Executor 上面,在 driver 上面的 BlockManager 是负责管理整个集群所有 Executor 中的 BlockManager,BlockManager 本身也是 Master-Slave 结构的,所谓Master-Slave 结构就是一切的调度和工作都是由 Master 去触发的,Slave本身就是专注于干活的,而

2017-10-21 21:55:55 527

原创 CacheManager原理剖析与源码分析

首先 RDD 是通过 iterator 来进行计算:CacheManager 会通过 BlockManager 从 Local 或者 Remote 获取数据直接通过 RDD 的 compute 进行计算,有可能需要考虑 checkpoint; 通过 BlockManager 首先从本地获取数据,如果获得不到数据的话会从远程获取数据 首先检查看当前的 RDD 是否进行了 CheckPoint ,如

2017-10-21 21:51:49 635

原创 Shuffle原理剖析与源码分析

普通Spark Shuffle操作第一个特点: 在Spark早期版本中,那个bucket缓存是非常非常重要的,因为需要将一个ShuffleMapTask所有的数据都写入内存缓存之后,才会刷新到磁盘。但是这就有一个问题,如果map side数据过多,那么很容易造成内存溢出。所以spark在新版本中,优化了,默认那个内存缓存是100kb,然后呢,写入一点数据达到了刷新到磁盘的阈值之后,就会将

2017-10-19 11:56:47 317

原创 Task原理剖析

ShuffleMapTask和ResultTask的RunTask方法,然后compute。

2017-10-19 10:48:21 369

原创 TaskScheduler原理剖析与源码分析

def resourceOffers(offers: Seq[WorkerOffer]): Seq[Seq[TaskDescription]] = synchronized { var newExecAvail = false for (o <- offers) { executorIdToHost(o.executorId) = o.host executo

2017-10-16 15:54:32 757

原创 Hive数据倾斜

数据倾斜场景:少数key的数据量过于集中:由于聚合函数的操作造成jion类的倾斜处理倾斜:提前将倾斜的数据处理掉提高并行度,多分区多task对Group的聚合分段聚合局部整合对key随机打散将reduce端的聚合提前到map端

2017-10-15 09:25:59 313

原创 DAGScheduler原理剖析与源码分析

stage划分算法:必须对stage划分算法很清晰,知道自己的Application被划分了几个job,每个job被划分了几个stage,每个stage有哪些代码,只能在线上报错的信息上更快的发现问题或者性能调优。 //DAGscheduler的job调度的核心入口 private[scheduler] def handleJobSubmitted(jobId: Int, fina

2017-10-14 16:22:12 530

原创 job触发流程原理剖析与源码分析

以wordcount流程解析val lines = sc.textFile() def textFile( path: String, minPartitions: Int = defaultMinPartitions): RDD[String] = withScope { assertNotStopped() //hadoopFile()方法的调用,拿

2017-10-14 11:35:53 378

原创 Worker原理剖析与源码分析

Master会让worker启动一个Driver Runnner线程,启动Driver线程(launchDriver)。Master让Worker启动一个ExecutorRunner,去启动Executor进程并向Driver反向注册(launchExecutor)。case LaunchDriver(driverId, driverDesc) => { logInfo(s"Aske

2017-10-14 10:50:56 345

原创 Master原理剖析与源码分析:资源调度机制源码分析(schedule(),两种资源调度算法)

1、主备切换机制原理剖析与源码分析 2、注册机制原理剖析与源码分析 3、状态改变处理机制源码分析4、资源调度机制源码分析(schedule(),两种资源调度算法)*Driver的调度机制*//Master中的schedule()方法。 private def schedule(): Unit = { //standby的Master是不会被调用的 if (state != R

2017-10-13 21:52:24 333

原创 Master原理剖析与源码分析:Master状态改变处理机制原理剖析与源码分析

1、主备切换机制原理剖析与源码分析 2、注册机制原理剖析与源码分析3、状态改变处理机制源码分析4、资源调度机制源码分析(schedule(),两种资源调度算法)// Master中Driver状态改变的的信息 private def removeDriver( driverId: String, finalState: DriverState, except

2017-10-13 20:28:05 395

原创 Master原理剖析与源码分析:注册机制原理剖析与源码分析

1、主备切换机制原理剖析与源码分析 2、注册机制原理剖析与源码分析 3、状态改变处理机制源码分析 4、资源调度机制源码分析(schedule(),两种资源调度算法)

2017-10-13 19:20:30 346

原创 Master原理剖析与源码分析:主备切换机制原理剖析与源码分析

1、主备切换机制原理剖析与源码分析 2、注册机制原理剖析与源码分析 3、状态改变处理机制源码分析 4、资源调度机制源码分析(schedule(),两种资源调度算法)

2017-10-13 19:17:23 300

原创 Spark内核源码深度剖析:sparkContext初始化的源码核心

TaskSchedulerImplsparkContext中的创建createTaskScheduler(2000多行) private def createTaskScheduler( sc: SparkContext, master: String): (SchedulerBackend, TaskScheduler) = { import SparkMast

2017-10-13 15:00:53 330

原创 Spark内核源码深度剖析:SparkContext原理剖析与源码分析

1、TaskScheduler 2、DAGScheduler 3、SparkUI

2017-10-12 14:43:13 269

原创 Spark内核源码深度剖析:基于Yarn的两种提交模式深度剖析

Spark的三种提交模式1、Spark内核架构,其实就是第一种模式,standalone模式,基于Spark自己的Master-Worker集群。2、第二种,是基于YARN的yarn-cluster模式。3、第三种,是基于YARN的yarn-client模式。4、如果,你要切换到第二种和第三种模式,很简单,将我们之前用于提交spark应用程序的spark-submit脚本,加上--master

2017-10-12 14:01:29 260

原创 Spark内核源码深度剖析:宽依赖与窄依赖深度剖析

宽依赖与窄依赖深度剖析

2017-10-12 13:43:35 307

原创 Spark内核架构

1、Application 2、spark-submit 3、Driver 4、SparkContext 5、Master 6、Worker 7、Executor 8、Job 9、DAGScheduler 10、TaskScheduler 11、ShuffleMapTask and ResultTask

2017-10-12 11:46:58 214

原创 thransformation操作

thransformation操作1、map:将集合中每个元素乘以2 2、filter:过滤出集合中的偶数 3、flatMap:将行拆分为单词 4、groupByKey:将每个班级的成绩进行分组 5、reduceByKey:统计每个班级的总分 6、sortByKey:将学生分数进行排序 7、join:打印每个学生的成绩 //使用join算子关联两个RDD,jion之后还是会根据key进

2017-10-12 11:19:29 281

转载 Kafka 高性能吞吐揭秘

本文将针对Kafka性能方面进行简单分析,首先简单介绍一下Kafka的架构和涉及到的名词: - Topic:用于划分Message的逻辑概念,一个Topic可以分布在多个Broker上。 - Partition:是Kafka中横向扩展和一切并行化的基础,每个Topic都至少被切分为1个Partition。 - Offset:消息在Partition中的编号,编号顺序不跨Partit

2017-10-02 10:23:42 446

原创 Hive中的简单窗口函数应用(TOPN)

窗口函数:lead lag FIRST_VALUE分析函数: RANK ROW_NUMBERTOPNrow number说明: row_number() over ([partition col1] [order by col2]) rank() over ([partition col1] [order by col2]) dense_rank() over ([partition col1

2017-09-23 16:34:48 3407

原创 hive 中的二级分区表和动态分区表

二级分区表/管理表: create table emp_part1( empno int, empname string, empjob string, mgrno int, birthday string, salary float, bonus float, deptno int ) partitioned by (day string,hour string)ro

2017-09-10 11:19:51 7718

原创 spark中的共享变量

Spark一个非常重要的特性就是共享变量。默认情况下,如果在一个算子的函数中使用到了某个外部的变量,那么这个变量的值会被拷贝到每个task中。此时每个task只能操作自己的那份变量副本。如果多个task想要共享某个变量,那么这种方式是做不到的。Spark为此提供了两种共享变量,一种是Broadcast Variable(广播变量),另一种是Accumulator(累加变量)。Broadcast Va

2017-09-08 09:46:35 592

原创 spark 中RDD的持久化原理

spark 中RDD的持久化原理Spark非常重要的一个功能特性就是可以将RDD持久化在内存中。当对RDD执行持久化操作时,每个节点都会将自己操作的RDD的partition持久化到内存中,并且在之后对该RDD的反复使用中,直接使用内存缓存的partition。这样的话,对于针对一个RDD反复执行多个操作的场景,就只要对RDD计算一次即可,后面直接使用该RDD,而不需要反复计算多次该RDD。巧妙

2017-09-08 09:33:44 1013

原创 spark Job执行流程

spark Job执行流程从hdfs/local/集合中读取数据,放到worker的内存中。然后,work节点中的exector的task,再针对hdfs对应的linesRDD,依此进行我们的flatmap/map/reduceByKey等操作。

2017-09-07 09:09:43 380

原创 spark核心编程原理

spark核心编程原理首先定义初始的RDD,第一个RDD确定是从哪里读取数据,hdfs/local/还是程序中的集合定义RDD的计算操作,通过spark中的算子,map/flapmap/filter/groupBykey。这比map和reduce 的功能强大而又简洁。第三就是循环往复的过程,当第一个算子算完了以后,数据可能就会到了新的一批节点上,变成一个新的RDD,然后再次重复。针对所有的RD

2017-09-06 20:11:42 1007

原创 spark中 transformation和action介绍

spark中 transformation和action介绍Spark支持两种RDD操作:transformation和action。transformation操作会针对已有的RDD创建一个新的RDD;而action则主要是对RDD进行最后的操作,比如遍历、reduce、保存到文件等,并可以返回结果给Driver程序。例如,map就是一种transformation操作,它用于将已有RDD的每

2017-09-06 19:26:11 680

原创 spark standalone 集群配置

Spark Standalone是集群,是Spark自身所带的集群资源管理系统,进行任务调度 与YARN很类似,同样是主/从的分布式架构 主节点: Master(相当于ResourceManager)从节点: Worker(相当于NodeManager)park-env.sh主节点配置SPARK_MASTER_IP=blue01.mydomainSPARK_MASTER_POR

2017-09-06 18:40:01 312

原创 spark中RDD的基本操作方式

spark中RDD的基本操作方式读取本地文件val rdd = sc.textFile("file:///home/tom/a.txt")rdd.collect val rdd1=rdd.map(s=>Integer.parseInt(s)+1)rdd1.collectrdd1.saveAsTextFile("file:///home/tom/result")读取HDFS文件val

2017-09-06 18:22:44 2057

监控指标.pdf

告警方式有:电话 短信 邮件 企业微信 目前企业微信每个级别都报 暂定几个告警级别: (目前还未实现细分) 1:短信,邮件,企业微信 3:邮件 ,企业微信 5:企业微信 7:不报警

2019-10-09

Elasticsearch调优实践.pdf

Elasticsearch(ES)作为NOSQL+搜索引擎的有机结合体,不仅有近实时的查询能力,还具有强大的聚合分析能力。因此在全文检索、日志分析、监控系 统、数据分析等领域ES均有广泛应用。而完整的Elastic Stack体系(Elasticsearch、Logstash、Kibana、Beats),更是提供了数据采集、清洗、存储、 可视化的整套解决方案。 本文基于ES 5.6.4,从性能和稳定性两方面,从linux参数调优、ES节点配置和ES使用方式三个角度入手,介绍ES调优的基本方案。当然,ES的调优绝不能 一概而论,需要根据实际业务场景做适当的取舍和调整,文中的疏漏之处也随时欢迎批评指正。

2019-10-09

sec_hdp_security_overview.pdf

Security is essential for organizations that store and process sensitive data in the Hadoop ecosystem. Many organizations must adhere to strict corporate security polices. Hadoop is a distributed framework used for data storage and large-scale processing on clusters using commodity servers. Adding security to Hadoop is challenging because not all of the interactions follow the classic client-server pattern. • In Hadoop, the file system is partitioned and distributed, requiring authorization checks at multiple points. • A submitted job is executed at a later time on nodes different than the node on which the client authenticated and submitted the job. • Secondary services such as a workflow system access Hadoop on behalf of users. • A Hadoop cluster scales to thousands of servers and tens of thousands of concurrent tasks. A Hadoop-powered "Data Lake" can provide a robust foundation for a new generation of Big Data analytics and insight, but can also increase the number of access points to an organization's data. As diverse types of enterprise data are pulled together into a central repository, the inherent security risks can increase. Hortonworks understands the importance of security and governance for every business. To ensure effective protection for its customers, Hortonworks uses a holistic approach based on five core security features: • Administration • Authentication and perimeter security • Authorization • Audit • Data protection This chapter provides an overview of the security features implemented in the Hortonworks Data Platform (HDP). Subsequent chapters in this guide provide more details on each of these security features.

2019-06-24

马士兵jvm调优笔记.docx

一.java内存结构 2 二 垃圾收集算法: 3 三 JVM参数 4 四 JVM的垃圾回收集器 7 五 常用参数设置 7

2019-06-20

Hbase_目录结构.pptx

/hbase/archive (1) 进行snapshot或者升级的时候使用到的归档目录。compaction删除hfile的时 候,也会把旧的hfile归档到这里等。 /hbase/corrupt (2) splitlog的corrupt目录,以及corrupt hfile的目录。

2019-06-19

Hbase_存储结构.pptx

Apache HBase™是Hadoop数据库,是一个分布式,可扩展的大数据存储。 当您需要对大数据进行随机,实时读/写访问时,请使用Apache HBase™。 该项目的目标是托管非常大的表 - 数十亿行X百万列 - 在商品硬件集群上。 Apache HBase是一个开源的,分布式的,版本化的非关系数据库,模仿Google的Bigtable结构化数据分布式存储系统。 正如Bigtable利用Google文件系统提供的分布式数据存储一样,Apache HBase在Hadoop和HDFS之上提供类似Bigtable的功能。

2019-06-19

平安数据库试题

1 如何修改spfile?(A、C) 先create pfile from spfile; 修改pfile; 然后再create spfile from pfile; create spfile from pfile,启动数据库即可,
也可以alter system set parametervalue=parametervalue scope = spfile
数据库重启后参数生效、 a. 从spfile生成pfile,修改pfile,再从pfile生成spfile b. 直接用VI命令打开修改 c. 用命令修改alter system set scope=spfile d. 通过重建控制文件修改它 e. 用文本编辑器修改 2 cbo优化的模式下用dbms -stats搜集统计信息,以下哪个参数能够搜集核准图信息 Method_opt 3 为表table创建一个参考同义词 tabl-syn语法是( )C a. create synonym table_syn on tabl b. create public synonym tabl_syn on tabl c. create public synonym tabl_syn for tabl d. create synonym table_syn for tabl create public synonym tabl_syn for table 4 ORACLE中最小的逻辑单位 Block 块 5 对于不经常更新的表,你应该设置 lower pctfree Higher PCTFREE Lower PCTUSED 6 ORACLE 9i 报 ORA-4031,从init参数文件哪个参数去入手解决 解释:共享池问题 答案:shared_pool_size 7 使用LOGMINER恢复archive log 文件,视图$logmnr_contents中不包含() a. archive logfile路径 b. table_name c. SCN型 d. Sql_redo 8 Which statement about locally managed table spaces is true? a. Tables in locally managed tablespaces should be regularly reorganized. b. Locally managed tablespaces have dictionary intervention. c. Extent allocation information for a locally managed tablespaces is stored in the tablespaces itself. 9 ??当需要对连接到数据库的用户user1限制起连接数,需操作()B a. 在init文件中修改session参数 b. 创建一个有连接限制的profile_new,并把user1的profile修改为profile_new c. drop users,重新创建一个新用户 d. 使用alter user直接修改用户连接数的值

2018-10-13

CM安装部署文档

如何在RedHat7.3安装CDH5.14.pdf 1.

2018-10-13

数据仓库建模

问题导读:
1、如何理解IBM 的 TDWM 概念模型是什么?
2、什么是数据模型和数据仓库模型?
3、为什么需要数据模型,如何建设数据模型以及数据仓库数据模型架构?
4、数据仓库建模阶段划分分为多少阶段?
5、数据仓库建模方法都有哪些?

2018-09-05

spark官方文档

1 概述(Overview) Spark SQL是Spark的一个组件,用于结构化数据的计算。Spark SQL提供了一个称为DataFrames的编程抽象,DataFrames可以充当分布式SQL查询引擎。 2 DataFrames DataFrame是一个分布式的数据集合,该数据集合以命名列的方式进行整合。DataFrame可以理解为关系数据库中的一张表,也可以理解为R/Python中的一个data frame。DataFrames可以通过多种数据构造,例如:结构化的数据文件、hive中的表、外部数据库、Spark计算过程中生成的RDD等。 DataFrame的API支持4种语言:Scala、Java、Python、R。 2.1 入口:SQLContext(Starting Point: SQLContext) Spark SQL程序的主入口是SQLContext类或它的子类。创建一个基本的SQLContext,你只需要SparkContext,创建代码示例如下: Scala val sc: SparkContext // An existing SparkContext. val sqlContext = new org.apache.spark.sql.SQLContext(sc) Java JavaSparkContext sc = ...; // An existing JavaSparkContext. SQLContext sqlContext = new org.apache.spark.sql.SQLContext(sc); 除了基本的SQLContext,也可以创建HiveContext。SQLContext和HiveContext区别与联系为: SQLContext现在只支持SQL语法解析器(SQL-92语法) HiveContext现在支持SQL语法解析器和HiveSQL语法解析器,默认为HiveSQL语法解析器,用户可以通过配置切换成SQL语法解析器,来运行HiveSQL不支持的语法。 使用HiveContext可以使用Hive的UDF,读写Hive表数据等Hive操作。SQLContext不可以对Hive进行操作。 Spark SQL未来的版本会不断丰富SQLContext的功能,做到SQLContext和HiveContext的功能容和,最终可能两者会统一成一个Context HiveContext包装了Hive的依赖包,把HiveContext单独拿出来,可以在部署基本的Spark的时候就不需要Hive的依赖包,需要使用HiveContext时再把Hive的各种依赖包加进来。 SQL的解析器可以通过配置spark.sql.dialect参数进行配置。在SQLContext中只能使用Spark SQL提供的”sql“解析器。在HiveContext中默认解析器为”hiveql“,也支持”sql“解析器。 2.2 创建DataFrames(Creating DataFrames) 使用SQLContext,spark应用程序(Application)可以通过RDD、Hive表、JSON格式数据等数据源创建DataFrames。下面是基于JSON文件创建DataFrame的示例: Scala val sc: SparkContext // An existing SparkContext. val sqlContext = new org.apache.spark.sql.SQLContext(sc) val df = sqlContext.read.json("examples/src/main/resources/people.json") // Displays the content of the DataFrame to stdout df.show() Java JavaSparkContext sc = ...; // An existing JavaSparkContext. SQLContext sqlContext = new org.apache.spark.sql.SQLContext(sc); DataFrame df = sqlContext.read().json("examples/src/main/resources/people.json"); // Displays the content of the DataFrame to stdout df.show(); 2.3 DataFrame操作(DataFrame Operations) DataFrames支持Scala、Java和Python的操作接口。下面是Scala和Java的几个操作示例: Scala val sc: SparkContext // An existing SparkContext. val sqlContext = new org.apache.spark.sql.SQLContext(sc) // Create the DataFrame val df = sqlContext.read.json("examples/src/main/resources/people.json") // Show the content of the DataFrame df.show() // age name // null Michael // 30 Andy // 19 Justin // Print the schema in a tree format df.printSchema() // root // |-- age: long (nullable = true) // |-- name: string (nullable = true) // Select only the "name" column df.select("name").show() // name // Michael // Andy // Justin // Select everybody, but increment the age by 1 df.select(df("name"), df("age") + 1).show() // name (age + 1) // Michael null // Andy 31 // Justin 20 // Select people older than 21 df.filter(df("age") > 21).show() // age name // 30 Andy // Count people by age df.groupBy("age").count().show() // age count // null 1 // 19 1 // 30 1 Java JavaSparkContext sc // An existing SparkContext. SQLContext sqlContext = new org.apache.spark.sql.SQLContext(sc) // Create the DataFrame DataFrame df = sqlContext.read().json("examples/src/main/resources/people.json"); // Show the content of the DataFrame df.show(); // age name // null Michael // 30 Andy // 19 Justin // Print the schema in a tree format df.printSchema(); // root // |-- age: long (nullable = true) // |-- name: string (nullable = true) // Select only the "name" column df.select("name").show(); // name // Michael // Andy // Justin // Select everybody, but increment the age by 1 df.select(df.col("name"), df.col("age").plus(1)).show(); // name (age + 1) // Michael null // Andy 31 // Justin 20 // Select people older than 21 df.filter(df.col("age").gt(21)).show(); // age name // 30 Andy // Count people by age df.groupBy("age").count().show(); // age count // null 1 // 19 1 // 30 1 详细的DataFrame API请参考 API Documentation。 除了简单列引用和表达式,DataFrames还有丰富的library,功能包括string操作、date操作、常见数学操作等。详细内容请参考 DataFrame Function Reference。 2.4 运行SQL查询程序(Running SQL Queries Programmatically) Spark Application可以使用SQLContext的sql()方法执行SQL查询操作,sql()方法返回的查询结果为DataFrame格式。代码如下: Scala val sqlContext = ... // An existing SQLContext val df = sqlContext.sql("SELECT * FROM table") Java SQLContext sqlContext = ... // An existing SQLContext DataFrame df = sqlContext.sql("SELECT * FROM table")

2017-09-01

大规模分布式系统架构与设计实战

这不是一本讲如何使用Hadoop的书,而是一本讲实现Hadoop功能的书,是一本讲如何简化实现分布式技术核心功能的书。这不是一本空谈概念、四处摘抄的书,而是来源于作者十多年来在私企、港企、外包、创业、淘宝、华为等企业打拼,从底层程序员一路走到首席架构师的实战经验总结。绝技源于江湖,将军发于卒伍,这本书讲的是你在课本上学不到核心技术,无论你是在中国什么样的IT企业做什么样的分布式应用,这本书对你都具备参考性。 本书面向千千万万战斗在一线攻城拔寨的程序员、工程师们,你可以有很多基础,也可以从头开始,本书尽量做到深入浅出和通俗易懂,希望帮助你降低分布式技术的学习成本,帮助你更容易完成工作任务,更轻松地挣钱。 本书根据分布式技术的主要应用,分别介绍分布式并行计算的基本概念、分布式协调、分布式缓存、消息队列、分布式文件系统、分布式作业调度平台等,详细阐述分布式各技术的架构原理和实现方式,并附带大量示例,便于读者实际操作运行。基于本书原理,作者用Java实现并开源了Fourinone框架,这是一个高效的分布式系统,归纳在150KB源码里,代码不到1万行,让你能够轻松掌握。学习开发核心技术的诀窍是多动手,建议读者运行本书附带的大量DEMO,在运行后细细体会分布式的理论,进行反思和总结。本书归纳的设计思想和算法不局限于某个框架,读者领会后可以用任何语言来实现自己的分布式系统。

2017-08-31

SQOOP导入和导出参数.pdf

sqoop操作指南

2017-08-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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