自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

旧时明月

旧时明月

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

转载 Zookeeper常用命令

ZooKeeper服务命令:     在准备好相应的配置之后,可以直接通过zkServer.sh 这个脚本进行服务的相关操作1. 启动ZK服务:       sh bin/zkServer.sh start2. 查看ZK服务状态: sh bin/zkServer.sh status3. 停止ZK服务:       sh bin/zkServer.sh stop4. 重启ZK服务:   

2017-07-31 20:57:11 258

原创 mapreduce二次排序案例

为什么需要二次排序?在MapReduce操作时,我们知道传递的会按照key的大小进行排序,最后输出的结果是按照key排过序的。有的时候我们在key排序的基础上,对value也进行排序。这种需求就是二次排序:解决思路:我们可以把key和value联合起来作为新的key,记作newkey。这时,newkey含有两个字段,假设分别是k,v。这里的k和v是原来的ke

2017-07-31 19:53:53 3218 3

转载 hadoop参数调优

hadoop优化相关:1:对操作系统进行参数调优(1):打开文件描述符和网络连接参数上限(具体操作内容:使用ulimit命令讲允许同时打开的文件描述符数据上限增大至一个合适的值,同时调整内核参数net.core.somaxconn)(2):关闭swap分区(具体操作内容是/etc/stsctl.conf中得vm.vm.swappiness参数)(3):设置合理的预读取缓冲区大小(具

2017-07-31 19:24:45 493

原创 MapReducer优化

如何做一个健壮强的mapreduce程序?相信每个程序员在编程时都会问自己两个问题“我如何完成这个任务”,以及“怎么能让程序运行得更快”。同样,MapReduce计算模型的多次优化也是为了更好地解答这两个问题。MapReduce计算模型的优化主要集中在两个方面:一是计算性能方面的优化;二是I/O操作方面的优化。这其中,又包含七个方面的内容。hadoop参数调优:http:/

2017-07-31 18:38:15 2279

原创 Namenode 联盟 联邦环境的搭建

为什么引入联盟框架 ?首先了解下hdfs的局限性@Namespace(命名空间)的限制由于Namenode在内存中存储所有的元数据(metadata),因此单个Namenode所能存储的对象(文件+块)数目受到Namenode所在JVM的heap size的限制。50G的heap能够存储20亿(200 million)个对象,这20亿个对象支持4000个datanode,1

2017-07-31 18:00:31 1002

原创 mapReducer的测试案例①

需求: 实现统计 每个手机号的 上行包 下行包  总包  案例资源和文件:http://pan.baidu.com/s/1eSMmpkm首先定义了一类接收数据处理过程中map阶段输出的value.package com.vampire.taobao; import java.io.DataInput;import java.io.DataOutput;imp

2017-07-30 15:28:02 313

原创 Hadoop Ha (High avilable)配置

为什么要配置HDFS HA?  首先:HDFS集群中NameNode 如果存在单点故障。对于只有一个NameNode的集群,如果NameNode机器出现意外情况,将导致整个集群无法使用.而影响HDFS集群不可用主要包括以下两种情况:一是NameNode机器宕机,将导致集群不可用,重启NameNode之后才可使用;二是计划内的NameNode节点软件或硬件升级,导致集群在短时间内

2017-07-30 10:40:39 566

原创 zookeeper 完全分布式搭建

1.安装JDK(3台PC都要安装JDK)配置环境变量2.安装完全分布式集群1)安装zk2)配置zoo.cfg文件dataDir=/opt/modules/zookeeper-3.4.5/zkDataserver.1=hadoop.ibeifeng.com.cn01:2888:3888server.2=hadoop.ibeifeng.com.cn02:2888:3888

2017-07-29 15:09:04 459

转载 程序员必知的8大排序

前几天,看到一篇前辈的博文“程序员必知的8大排序”,不禁的手痒起来,重新翻开严蔚敏老师的《数据结构》复习了一遍,然后一一的用Java去实现,其中有不足之处, 先来看看8种排序之间的关系: 1,  直接插入排序   (1)基本思想:在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使

2017-07-28 09:26:27 349

原创 mapReduce中的shuffle过程

从map()的输出到reduce()的输入,中间的过程被称为shuffle过程。map side1.在写入磁盘之前,会先写入环形缓冲区(circular memory buffer),默认100M(mapreduce.task.io.sort.mb可修改),当缓冲区内容达到80M(mapreduce.map.sort.spill.percent可修改),缓冲区内容会被溢写到磁盘,形成一

2017-07-28 08:53:32 471

原创 Yarn的运行原理(执行流程)

1.client向yarn提交job,首先找ResourceManager分配资源,2.ResourceManager开启一个Container,在Container中运行一个Application manager3.Application manager找一台nodemanager启动Application master,计算任务所需的计算4.Application master向A

2017-07-28 08:49:24 3920

原创 hdfs完全分布式的安装

完全分布式的安装 1、集群规划                           组件                   PC1                        PC2                                        PC3HDFS             Namenode                Secondary

2017-07-26 18:18:04 714

原创 map任务split切片 reduce个数 partition

mapreduce(map和reduce个数) map任务split切片 reduce个数 partitionmap个数:由任务切片spilt决定的,默认情况下一个split的大小就是block由参与任务的文件个数决定的 number of splits:1对于大文件,一般选择split=block,如果split对于小文件,默认一个文件启动一个map,这样

2017-07-26 10:08:55 2034

原创 Windows下Eclispe远程开发Mapreduce程序

1.安装插件(方便管理mapreduce文件) 1).将hadoop-eclipse-plugin-2.6.0.jar 拷贝到${MyEclispe_HOME} /plugins 2).打开MyEclispe,菜单栏->windows->Preferneces->Hadoop MapReduce2.Windows安装hadoop 1)解压hadoop-2.5.0.tar

2017-07-24 19:42:36 254

原创 搭建Linux环境的Java开发(Eclipse + maven)

1.Java 安装 配置环境变量 2.Maven 管理工程,管理依赖包(jar包) 1)上传并解压apache-maven安装包 $ tar -zxf apache-maven-3.0.5-bin.tar.gz -C ../modules/ 2)配置环境变量 vi /etc/profile # MAVEN_HO

2017-07-24 19:35:09 341

原创 HDFS的特点

优点: 1)处理超大文件   这里的超大文件通常是指百MB、数百TB大小的文件。目前在实际应用中,HDFS已经能用来存储管理PB级的数据了。2)流式的访问数据*  HDFS的设计建立在更多地响应”一次写入、多次读取”任务的基础上。这意味着一个数据集一旦由数据源生成,就会被复制分发到不同的存储节点中,然后响应各种各样的数据分析任务请求。在多数情况下,分析任务都会涉及数据集中的大部分数据,

2017-07-24 19:31:42 2458

原创 HDFS namenode 和 datanode功能

namenode 和 datanode功能 【namenode】 接收用户操作请求 维护文件系统的目录结构 管理文件与block之间关系,block与datanode之间关系 namenode管理:namenode支持对HDFS中的目录、文件和块做类似文件系统的创建、修改、删除、列表文件和目录等基本操作。 块存储管理 在整个HDFS集群中有且只有唯一一个处于active状态namenode节点,

2017-07-24 19:29:48 9961

原创 hadoop伪分布式布置安装

配置伪分布Hadoop 解压安装hadoop 【不要用root权限】 $ tar -zxf hadoop-2.5.0.tar.gz -C /opt/modules/1.配置hadoop的java环境支持, ${HADOOP_HOME}/etc/hadoop目录下 hadoop-env.sh mapred-env.sh yarn-env.sh export JAVA_HOME=/o

2017-07-23 10:48:53 235

原创 vim 一些快捷使用技巧

vi快捷方式显示行号: set nu,进入最后行模式使用光标快速移动到第一行,小写gg, 命令模式使用光标快速移动到最后一行,大写G, 命令模式使用删除一行,小写dd,(带有剪切功能)命令模式使用粘贴一行,小写p,命令模式使用删除多行,小写dd,加上数字,比如三行就是3dd,命令模式使用撤销上一步的操作,小写u,命令行模式使用删除、拷贝命令在命令模式下

2017-07-20 21:30:49 179

原创 shell 中的crontab

Crontab计划任务-->周期性执行计划任务选项使用:crontab -l   (list )   #查看目前的计划任务列表crontab -r   (remove)  #删除计划任务crontab -e   (eidt)    #编辑周期性计划任务进程名称是crondps -ef | grep crond $查看此进程是否开启默认进程是开启的,如

2017-07-20 21:29:31 302

原创 shell 中的日期date格式化

date 命令一)显示系统时间1.date   CST中央标准时间Mon Jun  5 15:11:44 CST 20172.date -R  带时区的时间Mon, 05 Jun 2017 15:14:44 +0800二)格式化日期$ date  '+%Y-%m-%d %H:%M'2017-05-02 11:20$ date  '+%Y/

2017-07-20 21:27:32 18198

原创 shell 中函数function()

Shell函数类似于Shell脚本,里面存放了一系列的指令,不过Shell的函数存在于内存,而不是硬盘文件,所以速度很快,另外,Shell还能对函数进行预处理,所以函数的启动比脚本更快。1、函数定义function 函数名() {    语句    [return]} 关键字function表示定义一个函数,可以省略,其后是函数名,有时函数名后可以跟一个括号

2017-07-20 21:26:34 9147

原创 shell 中的for循环while循环和case语句

循环语句1)for 循环第一种语法格式:for((初始化变量值;结束循环条件;循环控制语句))do循环体doneeg.#!/bin/shsum=0for ((i=0;idoecho $isum=$[ $sum + i ]doneecho $sum第二种语法格式:for 变量 in 值1 值2 ...值N

2017-07-20 21:22:42 4349

原创 shell 中的if奇葩语句

if 语句第一种语法格式:if  条件判断 then commandfieg.#!/bin/shif test 3 -eq 3thenecho Yesfi第二种语法格式:if  条件判断then commandeslecommandfieg.#!/bin/shif [ -d /home/user01

2017-07-20 21:20:54 497

原创 shell运算

第一种写法 $(( ))第二种写法 $ []第三种写法 expr    注意:在expr表达式中,必须添加空格如果:expr3+5 则报错如果:expr 3+5   则直接输出3+5注意:因为expr本身是一个shell命令,所以在输出的时候需要使用反引号(~,1,2,键的左边)注:expr 表达式只能接受数值1.算术运算echo $((

2017-07-20 09:31:56 631

原创 Linux关闭selinux安全子系统

vi /etc/sysconfig/selinux  把里边的一行改为  SELINUX=disabled  改了之后记得保存喔。

2017-07-20 09:30:21 1118

原创 shell的变量

对于习惯于Java脚本的编译的我来说,只能说说Xshell的脚本编译实在是太诡异.竟然.不存在长度为零的空...环境变量保存系统运行时使用的变量用户变量.bash_profile 每个用户主目录下都有这么这个文件,用来保存每个用户的环境变量系统变量/etc/profile:系统全局生效的配置文件位置变量将传递给脚本的参数保存在位置变量中以便于在脚本中

2017-07-19 21:33:56 219

原创 linux 系统管理命令

系统管理命令1.top 查看系统资源    -->相当于任务管理器每隔3秒更新一次按q退出浏览状态2.free 查看内存信息    --》yuan  可能会用到选项:-m, 就是以MB格式显示3.df -l 查看硬盘分区信息  4.ps -ef 查看系统进程ps -ef | grep crondjps 查看系统正在运行的java进程5.kill 杀死正在进行

2017-07-19 20:25:53 219

原创 linux 查看防火墙是否开启

1 首先使用service iptables status查看iptables当前服务状态。2 a) 永久生效 开启: chkconfig iptables on 关闭: chkconfig iptables off b) 即时生效,重启后失效 开启: service iptables start 关闭: se

2017-07-19 20:23:33 2105

原创 linux 解压缩功能

rpm命令1、centos主要管理包的方式2、rpm管理以rpm结尾的包3、挂载光驱# mount  /dev/cdrom      /media/【扩展】软件包的命名方式:zlib-devel-1.2.3-29.el6.x86_64.rpm软件名(zlib) 版本类型(devel:开发版 ;client:客户端)版本号(1.2.3)  发行号(29.el6) 硬件

2017-07-19 20:16:13 336

原创 设置IP地址,主机映射,主机名

1.修改或确认主机名主机名:大小写英文字母开头,可以出现. _  除此之外的特殊字符不允许(*@$),不能以数字开头hostname  //查看主机名修改主机名(两种方式):# hostname   vampire01    //临时修改主机名,重启后失效# vi /etc/sysconfig/network  //永久修改主机名,必须重启才能生效2.设置I

2017-07-19 19:46:54 4463

原创 克隆虚拟机流程

克隆虚拟机1.关闭Linux系统2. 虚拟机--》快照管理器--克隆  虚拟机--》管理 --》克隆选择完整克隆而非克隆链接3.克隆出来的虚拟机 要修改主机名还有ip地址,关键是要修改网卡信息4. # vi /etc/hosts修改主机映射:个人的配置为:192.168.112.129 vampire# vi /etc/sysconfig

2017-07-19 14:43:53 561

原创 Xshell 上下左右键乱码问题

Xshell 上下左右键 乱码问题解决方法:在Xshell的主面板中选择文件点击文件后打开属性页面在属性页面点击键盘这里面有两个选项一个是delete键选项选VT220另一个是backspace键,选择Backspace。接下来选择确定保存就好了。

2017-07-19 08:54:38 18925

原创 linux系统安装及简单命令介绍

一、简单的命令1.GUN/GPL GUN/Linux  Linu内核   发行版2.基础命令lsls -l 或者 llls  -acd   绝对路径 /   相对路径 回到上一级或者打开下一级目录用户主目录 /home/username  ~  cd pwdsu  - 3.目录和文件的指令增: mkdir   mkdir -p  touch  vi

2017-07-19 08:52:03 514

原创 linux系统简介及命令简介

一、Linux基本概念1.本门课程的定位a.企业环境中使用的服务器操作系统基本就是Linux系统b.大数据集群也是搭建在Linxu系统之上2.Linux内核Linux是一个一体化内核(monolithic kernel)系统。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作

2017-07-19 08:49:29 350

监控指标.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

SQOOP导入和导出参数.pdf

sqoop操作指南

2017-08-05

空空如也

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

TA关注的人

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