Spark:The Definitive Guide--读书小结(一)

Spark The Definitive Guide Spark权威指南中文笔记 目前在做Spark开发,所用到的参考资料便是Spark: The Definitive Guide。目前暂时没有中文版,为了记录学习和工作的过程,顺便等待中文版的推出,便将每章节的学习过程总结下来,以加深印象。 前6章不再赘述,前面的技术大牛已经翻译和整理笔记完毕,下面放出地址: 1-6章以及部分12章RDD翻译 Spark: The Definitive Guide 2019中文版-开源翻译项目... 阅读详情

前言

大概花了一个月(2020-09~2020-10)左右的时间,看完了整本书。笔者毕业后,主要从事机器学习、数据挖掘方向的相关工作。由于Spark作为目前主流的分布式计算引擎,个人也一直在用Spark进行相关的数据分析与建模工作。通读全书,感觉比较适合入门级学习,主要介绍了Spark 2.0相关API及Spark生态。涵盖Spark SQL、Struct Streaming、GraphX、MLlib等内容。对初学者而言是一本不错的书籍。

数据、源码链接: https://github.com/databricks/Spark-The-Definitive-Guide.

第Ⅰ部分 大数据与Spark概述

Spark是加州伯克利分校AMP实验室开发的通用内存计算框架,Spark主要包括Spark SQL(数据分析)、Struct Streaming(流计算)、ML(机器学习)、GraphX(图计算)等组件。使得Spark成为大数据一站式处理平台,在企业项目中得到广泛应用。目前Spark已经进入3.0时代,速度较2.0版本有较大的提升。在可预见的未来,Spark任将是企业进行大数据分析的基石。在这里插入图片描述

第Ⅱ部分 结构化API–DataFrame、SQL和Dataset

结构化API是处理各种数据类型的工具,可处理非结构化的日志文件、半结构化的CSV文件、以及高度结构化的Parquet文件。结构化API主要指以下三种核心分布式集合类型的API:Dataset类型、DataFrame类型、SQL表和视图。

Dataset和DataFrame的比较:
DataFrame是一个分布式的类型为Row的对象集合,Dataset可以使用Java/Scala类定义DataFrame中的每条记录。DataFrame可以看作是Dataset中对象为Row时的特例。Row类型是Spark用于支持内存计算而优化的数据格式。Dataset在编译时检查类型是否符合规范,而DataFrame在运行时检查类型是否与Schema中指定的一致。但Dataset与DataFrame的操作几乎完全一样。
在这里插入图片描述
DataFrame的转Dataset:

case class Flight(DEST_COUNTRY_NAME:String,ORIGIN_COUNTRY_NAME:String,count:BigInt)
val flightDF = spark.read.parquet("fileName")
val flights = flights.as[Flight]

RDD、DataFrame、Dataset演变:
在这里插入图片描述
DataFrame与RDD相比,更像是传统的二维表,除了记录了表数据,还记录了数据的结构信息:
在这里插入图片描述目前基于RDD的API已经进入了维护阶段,基于DataFrame与Dataset的API今后将成为Spark的核心API。

Spark结构化API执行过程:

  1. 编写DataFrame、Dataset、SQL代码,
  2. 如果代码能有效执行,Spark将其转化为一个逻辑执行计划(Logical Plan)
  3. Spark将此逻辑计划转化成一个物理执行计划(Physical Plan),检查可行的优化策略,并在此检查过程中进行优化
  4. Spark将生成的不同的物理执行计划,通过代价模型进行比较分析,最终在Spark集群上执行代价最小的物理执行计划(RDD操作)

详细过程见图解:
在这里插入图片描述

结构化操作介绍

本文基于伯克利开发的databricks进行操作演示(类似于python 的Jupyter Notebook),仅介绍部分操作,常见的操作不再赘述。数据目录结构如下:

在这里插入图片描述

  1. SQL表达式、DataFrame执行效率:
    SQL表达式与DataFrame API代码在执行前会编译成相同的底层逻辑树,这意味着SQL表达式与DataFrame的性能是一样的。个人更倾向于使用DatFrame API。
  2. select、selectExpr:
    select 函数与selectExpr函数支持在DataFrame上使用类SQL查询,可用其操作DataFrame列。selectExpr可以看作是select(expr(…))操作的简化版。其中" * "包含所有原始表中的列。
    在这里插入图片描述

注意事项:混淆Column对象和字符串,编译报错。
在这里插入图片描述

  1. 字面量(literal):
    当需要增加一项常数列时,可采用字面量函数
    在这里插入图片描述

  2. 链式过滤
    一般为了书写方便,多个过滤条件通常会放在一个表达式中,尽管方式可行,但并不总是有效。因为Spark会同时执行所有过滤条件,不管过滤条件的先后顺序。不过我还是喜欢组合后一起过滤,除非表达式很长,才会拆分成链式过滤。
    在这里插入图片描述

  3. sample、randomSplit
    sample函数按一定比例从DataFrame中随机抽取,可以指定是否为放回采样。randomSplit随机切分数据集,机器学习中常用来划分训练集、测试集。
    在这里插入图片描述

  4. null值排序
    通过asc_nulls_first、desc_nulls_first指定排序后空值出现的位置
    在这里插入图片描述

  5. sortWithinPartitions
    出于性能优化的目的,最好在进行别的转换操作之前,先对每个分区进行内部排序。
    在这里插入图片描述

  6. describe、summary
    两者都是输出列的统计信息,summary可输出分位数信息
    在这里插入图片描述

  7. monotonically_increasing_id
    为每行添加一个唯一的ID,每个partition内的ID编号连续,分区编号不连续,partition1(0-100),partition2(150-200),partition3(400-500)…
    在这里插入图片描述

  8. regx_replace、translate
    两者都可以进行字符串替换
    在这里插入图片描述

  9. var agrs
    Spark 可以接受不定量参数,采用var args可以更加简单的处理contains的问题
    在这里插入图片描述

  10. na处理null值
    数值型填充时,应注意保持数据类型一致。
    在这里插入图片描述

  11. Struct结构体
    spark可以组合多列构成一个结构体
    在这里插入图片描述

  12. 数组列
    根据某字符串列可生成数组列,供后续explode拆分
    在这里插入图片描述

  13. explode
    列主要功能是拆分array_col列中的每个值为一行。同时可以对map_col拆分成key-value两列
    在这里插入图片描述在这里插入图片描述

  14. JSON字符串
    Spark可以采用get_json_object解JSON对象,to_json可转化成JSON对象
    在这里插入图片描述在这里插入图片描述

  15. UDF函数
    Spark最强大的功能之一就是自定义函数,UDF可以让用户编写自定义转化操作。UDF函数需要在Spark Driver端进行序列化,并将他通过网络传送到worker端。一般来说,避免使用UDF函数是一个很好的优化策略。因为他们强制将数据表示为JVM对象。应该尽可能的使用结构化API来执行操作。

  16. window函数
    使用window函数可以执行某些特殊的聚类操作。具体指在数据窗口上执行聚合操作。window通常结合rank和dense_rank函数使用。示例如下:
    在这里插入图片描述

  17. rollup、cube分组操作
    cube比rollup多了一组col1:null,col2:noNull具体见红色
    在这里插入图片描述在这里插入图片描述

  18. pivot
    根据某列中的不同行创建多个列,注意区分groupBy
    在这里插入图片描述

  19. left_semi、left_anti
    left_semi(左半连接),实际上并不包含右边DataFrame中的任何值,它只是查看左侧DataFrame的值是否存在于右侧DataFrame,如果存在则在连接结果中保留。

    left_anti(左反连接),它实际上并不包含右边DataFrame的任何值,只是查看该值左侧DataFrmae的值是否存在于右侧DataFrame,不存在则在连接结果中保留
    在这里插入图片描述
    在这里插入图片描述

  20. 复杂连接
    在这里插入图片描述

  21. shuffle join与broadcast join
    Spark以两种不同的方式采取集群间的通信问题,它要么执行all-to-all通信的shuffle join,要么执行broadcast join。当用一个大表连接另一个大表时,最终就是shuffle join。大表与小表间的连接,通常可以将小表广播出去,也就是将较小的DataFrame复制到集群上的所有节点中,听起来很耗时间,但可以避免all-to-all的join,但整体性能要好于all-to-all join。但如果广播的表太大,可能导致driver端节点奔溃。
    http://hbasefly.com/2017/03/19/sparksql-basic-join/

    大表 join 极小表
    在这里插入图片描述 大表 join 小表
    在这里插入图片描述
    大表 join 大表

在这里插入图片描述在这里插入图片描述

  1. 并行读写数据库
    设置numPartitions可以保证在读取和写入数据库时不会导致数据库过载
    在这里插入图片描述

  2. 查询下推
    谓词下推就是指将各个条件先应用到对应的数据上,而不是根据写入的顺序执行,这样就可以先过滤掉部分数据,降低join等一系列操作的数据量级,提高运算速度。谓词下推(predicate pushdown)属于逻辑优化。优化器可以将谓词过滤下推到数据源,从而使物理执行跳过无关数据。
    在这里插入图片描述在这里插入图片描述

  3. 滑动窗口分区.
    Spark repatition采用的分区方式是key 的hash分区,可以指定阈值,采用基于阈值范围的滑动窗口分区
    在这里插入图片描述

  4. gzip文件压缩(推荐采用gzip压缩格式的parquet)
    gzip相比snappy压缩率更高,df.write.option(“compression”,“gzip”).parquet(path)

  5. 数据划分、数据分桶、maxRecordsPerFile
    基于某列对DataFrame进行划分,这使得你在之后读取文件时,可以跳过大量不相关的数据。比如常见的按时间列进行划分,但当某列存在大量不同的数据时,将生成很多小文件。此时,可以考虑数据分桶。maxRecordsPerFile可以限制每个文件的最大记录数,当maxRecordsPerFile与分区数量发生冲突时,以maxRecordsPerFile为准。

    在这里插入图片描述
    在这里插入图片描述

第Ⅲ部分 低级API

链接: https://editor.youkuaiyun.com/md/?articleId=109321946//未写待续.

第Ⅳ部分 生产与应用

链接: https://editor.youkuaiyun.com/md/?articleId=109321946//未写待续.

第Ⅴ部分 流处理

链接: https://editor.youkuaiyun.com/md/?articleId=109321946//未写待续.

第Ⅵ部分 高级分析与机器学习

链接: https://editor.youkuaiyun.com/md/?articleId=109321946//未写待续.

第Ⅶ部分 生态系统

链接: https://editor.youkuaiyun.com/md/?articleId=109321946//未写待续.

Cassandra-The-Definitive-Guide.pdf Developers who have done integration work know what a difficult task it can be. IT sys- tems may not have been designed to be accessible from other systems, and if they were designed for interoperability, they may not speak the protocol you need. As a devel- oper, you end up spending a considerable amount of time working with the plumbing of the integration protocols to open up the IT systems to the outside world. In Enterprise Integration Patterns, Gregor Hohpe and Bobby Woolf gave us a standard way to describe, document, and implement complex integration problems. Develop- ers and architects alike can use this common language and catalog of solutions to tackle their integration problems. But although Hohpe and Woolf gave us the theory, the industry still needed an open source implementation of the book. James Strachan, Rob Davies, Guillaume Nodet, and Hiram Chirino, within the open source communities of Apache Active MQ and Apache ServiceMix, brought the idea of Camel to life. Apache Camel is essentially an implementation of the EIP book, and in the summer of 2007 version 1.0 was released. Apache Camel is an integration framework whose main goal is to make integration easier. It implements many of the EIP patterns and allows you to focus on solving busi- ness problems, freeing you from the burden of plumbing. Using connectivity compo- nents has never been easier, because you don’t have to implement JMS message listeners or FTP clients, deal with converting data between protocols, or mess with the raw details of HTTP requests. All of this is taken care of by Camel, which makes media- tion and routing as easy as writing a few lines of Java code or XML in a Spring XML file. Apache Camel has since become very popular and today has an ever-growing com- munity. As with many open source projects that become popular, a logical next step is for someone to write a book about the project. Hadrian Zbarcea, the Project Manage- ment Committee chair of the Apache Camel project, realized this, and in early 2009 he contacted Manning to discuss the need for such a book. Hadrian got in touch with me (Claus Ibsen), inviting me in as a coauthor. It was perfect timing, as I was taking over from James Strachan as the lead on Apache Camel. Later that year, Hadrian had to step down as an author, but he invited Jonathan Anstey in as his replacement, to ensure the project could continue. Jonathan and I are both integration specialists working for FuseSource, which is the professional company that offers enterprise services around various Apache proj- ects. This book is written by the people who wrote the Camel code, which ensures you have the most updated Camel book on the market. Writing this book has been a very intense journey, proven by the fact that we were able to complete the manuscript in a year. It took a long time to implement the exam- ples and to ensure that the accompanying source code is of the highest standard. But the result is a great source of examples that should inspire you to get the best out of Camel, and it should be a good starting point for your Camel projects. While we were writing this book, we were also implementing new features in Camel, which often meant we had to go back and revise the material along the way. But we have kept up, and this book uses the latest Camel release at the time of writing (Camel 2.5). We hope this book brings great value to you and helps you prosper in the Camel community. C LAUS I BSEN 立即下载

相关推荐

Spark: The Definitive Guide: Big Data Processing Made Simple 英文.pdf版

Spark: The Definitive Guide: Big Data Processing Made Simple 英文高清pdf版,绝对好资源。

《Spark -- The Definitive Guide》学习笔记Note.1

  著名数学家华罗庚先生说过,“把薄书读厚,把厚书读薄”。厚书读薄是梳理脉络,让整体结构变清晰的过程。薄书读厚则要通过查证,思考,对原书内容加以扩增,甚至达到批驳书中知识点的程度。   博主自小偏爱文学类闲书一些,但由于职业原因,大部分能吊起的精力,是更需要主动投入在技术书籍上的,这就涉及到取舍“生存”和“生活”的哲学问题了,不多赘述。   喜欢安逸是人的天性,但为了更好地适应下一个技术周期,还是需要提前规划,主动跳出舒适区的,不进则退是从学生时代就存在的永恒话题。话不多说,有请主角登场。   力学笃行,

但愿今世为花农的博客 865

Spark the definitive guide 英文版

spark权威指南 the definitive guide 英文版, 需要的可以下载, 2018版的

Spark:The Definitive Guide--读书小结(五)

个人读后小结,如有不对,欢迎批评指正前言第Ⅰ部分 大数据与Spark概述第Ⅱ部分 结构化API--DataFrame、SQL和Dataset第Ⅲ部分 低级API第Ⅳ部分 生产与应用第Ⅴ部分 流处理第Ⅵ部分 高级分析与机器学习第Ⅶ部分 生态系统 前言 大概花了一个月(2020-09~2020-10)左右的时间,看完了整本书。笔者毕业后,主要从事机器学习、数据挖掘方向的相关工作。由于Spark作为目前主流的分布式计算引擎,个人也一直在用Spark进行相关的数据分析与建模工作。通读全书,感觉比较适合入门级学习,主

Java_Man_China的博客 518

Spark-The Definitive Guide Big Data Processing Made Simple

Spark-The Definitive Guide Big Data Processing Made Simple 完美true pdf。 Apache Spark is a unified computing engine and a set of libraries for parallel data processing on computer clusters. As of this writing, Spark is the most actively developed open source engine for this task, making it a standard tool for any developer or data scientist interested in big data. Spark supports multiple widely used programming languages (Python, Java, Scala, and R), includes libraries for diverse tasks ranging from SQL to streaming and machine learning, and runs anywhere from a laptop to a cluster of thousands of servers. This makes it an easy system to start with and scale-up to big data processing or incredibly large scale.

Spark_The Definitive Guide-O'Reilly(2018).epub

Welcome to this first edition of Spark: The Definitive Guide! We are excited to bring you the most complete resource on Apache Spark today, focusing especially on the new generation of Spark APIs introduced in Spark 2.0. Apache Spark is currently one of the most popular systems for large-scale data processing, with APIs in multiple programming languages and a wealth of built-in and third-party libraries. Although the project has existed for multiple years—first as a research project started at UC Berkeley in 2009, then at the Apache Software Foundation since 2013—the open source community is continuing to build more powerful APIs and high-level libraries over Spark, so there is still a lot to write about the project. We decided to write this book for two reasons. First, we wanted to present the most comprehensive book on Apache Spark, covering all of the fundamental use cases with easy-to-run examples. Second, we especially wanted to explore the higher-level “structured” APIs that were finalized in Apache Spark 2.0—namely DataFrames, Datasets, Spark SQL, and Structured Streaming—which older books on Spark don’t always include. We hope this book gives you a solid foundation to write modern Apache Spark applications using all the available tools in the project. In this preface, we’ll tell you a little bit about our background, and explain who this book is for and how we have organized the material. We also want to thank the numerous people who helped edit and review this book, without whom it would not have been possible.

《Spark -- The Definitive Guide》学习笔记Note.3

  上一篇分享,我们了解了一些关于Spark架构,应用程序,结构化API,核心概念的内容,有了这些作为基础,这期我们将对Spark工具集的相关内容进行译文和学习,分享过程中若有错谬,欢迎拍砖。 Charpter 3.A Tour of Spark’s Toolset   在第一期分享中,有下述图例,事实上,除了低级API和结构化API,Spark还提供了一系列标准库来实现额外功能,比如图分析,机器学习,流处理,以及其他计算和存储系统的集成能力等。   本期分享的主要内容有:   1、spark-su.

但愿今世为花农的博客 1390

Spark The Definitive Guide

Spark: The Definitive Guide Big data processing made simple

《Spark The Definitive Guide》Spark 权威指南学习计划

本书出自OReilly的《Spark: The Definitive Guide Big Data Processing Made Simple》,由Matei Zaharia, Bill Chambers两位大佬所写,是2018年2月的第一版(我也不清楚有没有最新版,搜也没搜到第二版) 参考本书主页介绍,着眼于Spark 2.0的改进,探索Spark结构化API的基本操作和常用功能,以及用于构建...

weixin_34235371的博客 644

Spark The Definitive Guide, 1st Edition

spark完全手册

【面试经验】京东-技术产品经理一面:从紧张到反思的全流程复盘

本文详细复盘了京东技术产品经理一面的全流程,从面试前的简历打磨、业务理解和技术基础准备,到面试中的高压对话和突发状况应对,再到面试后的深度反思与改进方案。文章特别强调了技术产品经理需要具备的技术理解力、数据敏感度和商业思维,并提供了实用的面试建议和准备技巧。

weixin_28730927的博客 162

Spark:The Definitive Guide--读书小结(三)

个人读后小结,如有不对,欢迎批评指正前言第Ⅰ部分 大数据与Spark概述第Ⅱ部分 结构化API--DataFrame、SQL和Dataset第Ⅲ部分 低级API第Ⅳ部分 生产与应用第Ⅴ部分 流处理第Ⅵ部分 高级分析与机器学习第Ⅶ部分 生态系统 前言 大概花了一个月(2020-09~2020-10)左右的时间,看完了整本书。笔者毕业后,主要从事机器学习、数据挖掘方向的相关工作。由于Spark作为目前主流的分布式计算引擎,个人也一直在用Spark进行相关的数据分析与建模工作。通读全书,感觉比较适合入门级学习,主

Java_Man_China的博客 622

农经权二轮延包—地块示意图生成

本文介绍了地块示意图制作软件的使用方法及模板制作要点。软件通过设置六个参数(示意图模板、属性数据、地块DBF、导航图、地块图片及存放位置)自动生成Word文档,并可导出PDF。文章详细说明了5页Word模板的制作过程,包括页脚三栏设置和页码插入技巧,支持每户最多28个地块的情况。同时指出该软件生成的图片分辨率(300dpi)满足清晰度要求,并提及软件免费提供插件但收费提供后续服务。

weixin_47364423的博客 1112

Spark:The Definitive Guide--读书小结(四)

个人读后小结,如有不对,欢迎批评指正前言第Ⅰ部分 大数据与Spark概述第Ⅱ部分 结构化API--DataFrame、SQL和Dataset第Ⅲ部分 低级API第Ⅳ部分 生产与应用第Ⅴ部分 流处理第Ⅵ部分 高级分析与机器学习第Ⅶ部分 生态系统 前言 大概花了一个月(2020-09~2020-10)左右的时间,看完了整本书。笔者毕业后,主要从事机器学习、数据挖掘方向的相关工作。由于Spark作为目前主流的分布式计算引擎,个人也一直在用Spark进行相关的数据分析与建模工作。通读全书,感觉比较适合入门级学习,主

Java_Man_China的博客 596

导出库的版本_Windows下PaddleOCR在C++中的推理部署(CPU版本)CMake + VS2017

PaddleOCR是一个与OCR相关的开源项目,不仅支持超轻量级中文OCR预测模型,总模型仅8.6M(单模型支持中英文数字组合识别、竖排文本识别、长文本识别,其中检测模型DB(4.1M)+识别模型CRNN(4.5M)),而且提供多种文本检测训练算法(EAST、DB)和多种文本识别训练算法(Rosetta、CRNN、STAR-Net、RARE)。本文将教大家通过PaddleOCR(CPU版...

weixin_31304817的博客 1913

影刀RPA验证码识别避坑指南:官方指令、Python ddddocr与第三方图鉴怎么选?

本文深度对比了影刀RPA验证码识别的三种方案:官方AI指令、Python ddddocr开源库和第三方图鉴服务。从识别率、成本、维护性等维度分析各方案优劣,提供实战选型建议和优化技巧,帮助技术决策者在自动化流程中高效解决验证码识别难题。

weixin_30790841的博客 470

大牛书单 | 大数据存储方向好书分享

导语:读书是一生的功课,技术人通过读书实现自我提升,学习优秀知识沉淀。TEG书知道本期特邀腾讯云数仓数据湖产品负责人堵俊平、腾讯云数据库负责人林晓斌、腾讯TEG云架构平台部数据块中心高级工程师王银虎,腾讯TEG计费平台部账户中心专家工程师潘安群为大家带来大数据方向好书推荐。来看看技术大牛在读什么,收藏优质内容,愿本期书单助您更专业。堵俊平,腾讯云数仓数据湖产品负责人,T4专...

weixin_34309543的博客 179

【WLAN】【调试】再谈如何使用Wireshark解密WiFi数据包——使用TK信息

- 本文介绍了一种wireshark使用TK信息解密空口报文的方式,该方式对是否有关联过程的报文没有要求。

一介草民,只为生活。 1187

如何高效利用gh_mirrors/books79/Books:新手程序员的学习路径规划

gh_mirrors/books79/Books是一个全面的程序员学习资源库,包含从基础编程到高级人工智能的各类技术书籍,帮助新手程序员系统构建知识体系。通过合理规划学习路径,你可以快速掌握核心技能,提升职业竞争力。 ## 📚 快速获取项目资源 要开始使用这个宝藏资源库,首先需要将项目克隆到本地。打开终端,输入以下命令: ```bash git clone https://gitcode.

gitblog_00060的博客 416

SystemUI-下拉去掉后去掉用户切换-去掉电源按键中的紧急呼叫

这里自己倒腾完成了两个常见需求:去除用户切换、去除紧急呼叫UI在去除用户切换时候,用到了Compose知识点,所以很难按照以前经验去找对应布局、找对应的View Item ,以往方法都只能部分借鉴的搞系统的还是要跟着谷歌学一点Compose技能了,方便日常开发调试。

十年饮冰,难凉热血 1459

5、卡尔ibration中Denavit - Hartenberg与Hayati约定的转换

本文详细介绍了机器人运动学中Denavit-Hartenberg(DH)参数与Hayati参数的定义、适用场景及其相互转换方法。重点分析了两种参数在描述关节坐标系变换时的差异,特别是在处理平行或接近平行关节轴时的稳定性问题,并给出了从DH到Hayati及反向转换的具体数学公式与流程图。通过参数转换,可在不改变运动学模型的前提下提升建模精度与计算鲁棒性,适用于机器人标定与运动学分析等应用场景。

h0i1j2k3l的博客 121

java performance 中文_Java Performance: The Definitive Guide 英文PDF扫描版

Java Performance: The Definitive Guide Description:Publication Date: May 4, 2014 | ISBN-10: 1449358454 | ISBN-13: 978-1449358457 | Edition: 1Coding and testing are often considered separate areas of e...

weixin_29280219的博客 401

【车载以太网测试从入门到精通】系列文章目录汇总

物理层测试、数据链路层测试、以太网交换机测试、网络层测试、传输层测试、以太网TCP/IP协议自动化测试、以太网网络管理测试、以太网网络管理自动化测试、鲁棒性测试、SOME/IP测试、SOMEI/IP服务接口自动化测试、DoIP诊断测试、DoIP诊断自动化测试、DoIP BootLoader刷写、以太网网关路由测试、以太网网关路由自动化测试、AVB测试。

测试领域技术分享 3157

Centos7安装jdk

Centos7安装jdk 1.第一步 将下载的tar包传到虚拟机 2.卸载openjdk rpm -e --nodeps java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.i686 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.i686 3.解压 将tar包解压到你想放的目录下 -C后面是路...

Thesmallwhiteah的博客 309

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

《Spark The Definitive Guide》Chapter 6:处理不同类型的数据

前言 更多内容,参见:《Spark The Definitive Guide》Spark 权威指南学习计划 Chapter 6:处理不同类型的数据 这一章如题所示讲的就是如何使用DataFrame相关方法处理不同类型数据,具体一点就是:布尔型、数值型、字符串、日期和时间、null、复杂的Array,Map,Struct类型、用户自定义函数(UDF) 从哪里找到适合的方法 DataFrame(或者D...

weixin_34204057的博客 396

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

《Spark -- The Definitive Guide》学习笔记Note.4

  这一期开始,我们将要深入讨论Spark的结构化API,主要有DataFrame,SQL,Dataset,分享过程中若有错谬,欢迎拍砖。 Part 2.Structured APIs——DataFrames,SQL,and Datasets Charpter 4.Structured API Overview   这一部分将深入探讨Spark的结构化API。结构化API是处理各种数据类型的工具,从非结构化的日志文件,到半结构化的CSV文件,再到高度结构化的Parquet文件。结构化API一般指如下三种.

但愿今世为花农的博客 1315

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

上一篇: Sklearn 特征选择方法(Filter、Wrapper、Embedded)
下一篇: Spark:The Definitive Guide--读书小结(三)
小糖宝
博客等级 码龄9年 47粉丝 46原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值