- 博客(45)
- 资源 (8)
- 收藏
- 关注

原创 Spark SQL操作之-函数汇总篇-下
Spark SQL操作之-自定义函数篇-下环境说明自定义函数分类用户自定义函数(UDF)用户自定义聚合函数(UDAF)环境说明1. JDK 1.82. Spark 2.1自定义函数分类不同的业务需要不同的处理函数,所以spark也支持用户自定义函数来做专用的处理。这里的自定义函数分两大类:用户已定义函数(UDF)和用户自定义聚合函数(UDAF)。用户自定义函数(UDF)用户自定义函...
2019-09-12 22:15:05
1997

原创 Spark SQL操作之-函数汇总篇-中
Welcome to StackEdit!环境说明1. JDK 1.82. Spark 2.1继续函数部分内容,这一篇补上窗口函数部分。窗口函数是什么窗口函数,顾名思义,这里存在一个窗口的概念。也就是指表内数据参与到函数计算的一个区间。这里说的计算区间,我理解是有两个意思。第一是看是否需要按指定的列来对数据进行分区。第二是看分区确定后是否还指定了对分区数据的进一步的限定。包括rows...
2019-06-09 08:54:17
5058
4

原创 Spark SQL操作之-函数汇总篇-上
函数汇总篇部分是整理Spark SQL的内置函数,窗口函数、自定义函数以及自定义聚合函数的用法。本篇主要是分享了内置函数部分,挑了一部分函数的示例说明其用法。包括数学函数,聚合函数,集合函数,字符串处理函数,日期函数等。
2019-05-28 08:57:03
2789

翻译 Learning Spark 中文版,第三章到第八章整理完毕,PDF可下载
下载地址:Learning Spark中文版3-8章带目录文字版 http://download.youkuaiyun.com/detail/coding_hello/9161615鉴于优快云把资源分升高到30了,我也控制不了,所以开个网盘下载地址吧:链接: https://pan.baidu.com/s/17dJ3DtRqfvswM6frSnp5ew 密码: ...
2015-10-07 23:00:24
8212
5
原创 Spark在Windows/Linux下的最简安装
Spark在Windows/Linux下的最简安装废话部分Windows下的安装安装JDK 1.8安装Spark 2.1.0运行spark-shellLinux下的安装安装JDK 1.8安装Spark 2.1.0运行spark-shell废话部分因为在外地出差临时需要个Spark环境,就搭了一个,其实蛮简单的。想到总是会有萌新刚开始起步,也许就有无从下手的困扰,于是顺便就发个blog丰富下内容...
2019-04-06 20:04:21
1741
翻译 Deep Learning with PyTorch 中文版 前5章
下载地址:Deep Learning with PyTorch 中文版1-5章带目录文字版 https://download.youkuaiyun.com/download/coding_hello/10940057源码地址:https://github.com/PacktPublishing/Deep-Learning-with-PyTorch ...
2019-01-27 09:52:16
7152
5
翻译 Auto-Keras与AutoML: 入门指南
原文地址:https://www.pyimagesearch.com/2019/01/07/auto-keras-and-automl-a-getting-started-guide/源代码可以在原文的最开始和结束的位置找到下载,作者会让email注册,确认,然后发一波源码和广告。另外,Linux下如何我不知道,但是在window10上安装Auto-Keras需要安装PyTorch 0.4...
2019-01-09 19:38:57
5375
原创 Spark的Dataset操作(五)-多表操作 join
spark-sql的多表join操作示例,包括内连接inner join, 外连接outer join,左外连接left_join, 右外连接right_join, 左半连接leftsemi, 以及笛卡尔连接crossjoin. 并介绍了对条件连接的支持。
2017-07-21 06:49:29
27657
4
原创 Spark的Dataset操作(四)-其他单表操作
Spark的Dataset操作(四)-其他单表操作还有些杂七杂八的小用法没有提到,比如添加列,删除列,null值处理之类的,就在这里大概列一下吧。
2017-07-16 21:10:58
13009
原创 Spark的Dataset操作(三)-分组,聚合,排序
spark sql的分组聚合操作,包括groupBy, agg, count, max, avg, sort, orderBy等函数示例
2017-07-14 21:29:27
44642
4
原创 Spark的Dataset操作(一)-列的选择select
环境说明:用的版本是Spark 2.1,Dataset操作很丰富,join的支持也蛮好的,比原来用的spark 1.4好用多了。嗯,Dataset操作,我觉得最重要的是把Column类的用法弄清楚。毕竟,后面的Dataset操作都是在操作列。最好的资料自然是官方文档,Spark的API文档还是挺详细的,而且还细分了Java/Scala/Python。来个例子边看边说:...
2017-07-08 23:47:44
29853
2
翻译 《Apache Spark Graph Processing》中文版前4章下载
翻译的时候,我尽量保持内容和原作所在的页码一致,方便各位对照原文纠错。 没翻译的章节是第 5 章 创建自定义的图聚合操作, 第 6 章 用 Pregel 进行图的并行迭代处理, 以及第 7 章 学习图的结构。 有兴趣的可以看看原书吧。 或者我以后也会更新, 不着急的可以关注下我的 blog。 但是不保证哈~~~
2016-08-01 08:58:10
972
翻译 Learning Spark 第四章 处理键值对 已翻译整理完毕,PDF可下载
下载地址:Learning Spark中文版 第四章 处理键值对第四章整理完成了,排版也还Ok,下面是截图,PDF的,加了书签。翻译的内容基本和原作的页码一致,方便对照。
2015-10-03 08:11:44
847
翻译 Learning Spark - LIGHTNING-FAST DATA ANALYSIS 第四章 - (4)
接着续,每天5分钟:Learning Spark - LIGHTNING-FAST DATA ANALYSIS 第四章 - (3)停电了2个多小时,还好又来了~ 第四章结束啦~~ 待会再出个完整版~受益于分区的操作Spark的许多操作都牵扯到根据主键跨网络shuffle数据的问题。所有这些都能从分区受益。Spark 1.0中,受益于分区的操作包括cogroup(
2015-10-01 22:20:54
860
翻译 Learning Spark - LIGHTNING-FAST DATA ANALYSIS 第四章 - (3)
接着续,每天5分钟:Learning Spark - LIGHTNING-FAST DATA ANALYSIS 第四章 - (2)数据分区(高级)本章讨论的最后一个Spark的特性是如何控制数据跨节点分区。分布式程序中,通信十分昂贵,所以对数据布局来最小化网络传输可以大幅提高性能。跟单机程序为数据集合选择一个正确的数据结构很类似,Spark程序可以选择控制分区来减少网络通信
2015-09-30 20:32:12
730
翻译 Learning Spark - LIGHTNING-FAST DATA ANALYSIS 第四章 - (2)
接着续,每天5分钟:Learning Spark - LIGHTNING-FAST DATA ANALYSIS 第四章 - (1)聚合当数据集被表述成键值对,通常是想要对所有元素按相同的键进行聚合统计。我们已经看到了fold(),combin()和reduce()这些动作作用于基本RDD。类似的也存在对pair RDD的每个键的变换。Spark提供了按相同的键合并的一组类似
2015-09-29 19:53:40
1149
翻译 Learning Spark - LIGHTNING-FAST DATA ANALYSIS 第四章 - (1)
续第三章:Learning Spark 第三章 RDD编程 已翻译整理完毕,PDF可下载PS:今天去换药,一上午就没了,坑爹啊~~ 加油加油,第四章!!第四章处理键值对(Key/Value Pairs) 本章介绍如何处理键值对,这是Spark中常见的一种数据类型。键值对RDD通常用于聚合操作,也经常会将一些初始ETL(提取,转换,加载)获
2015-09-28 20:54:36
850
翻译 Learning Spark 第三章 RDD编程 已翻译整理完毕,PDF可下载
下载地址:Learning Spark - 第三章 RDD编程第三章整理完成了,排版也还Ok,下面是截图,PDF的,加了书签。翻译的内容基本和原作的页码一致,方便对照。
2015-09-27 22:11:51
1253
翻译 Learning Spark - LIGHTNING-FAST DATA ANALYSIS 第三章 - (4)
续啊续,我还续:上一篇:Learning Spark - LIGHTNING-FAST DATA ANALYSIS 第三章 - (3)动作对于基本RDD,你最常用到的动作是reduce()。它传入一个函数,该函数对RDD中两个元素进行处理,并返回一个同类型的元素。这类函数的一个简单例子是+,用于计算RDD中元素的和。有了reduce(),我们可以轻松的计算RDD中元素的
2015-09-27 20:11:44
821
翻译 Learning Spark - LIGHTNING-FAST DATA ANALYSIS 第三章 - (3)
续啊续,再续上一篇:Learning Spark - LIGHTNING-FAST DATA ANALYSIS 第三章 - (2)常见的变换和动作在本章中,我们巡视一遍Spark中最常见的变换和动作。对包含某种类型数据的RDD还有些另外的操作可用,比如RDD的数量的统计函数,对RDD的key/value对按照key进行聚合的key/value操作。在后面的章节中我们会讲到R
2015-09-26 21:04:15
984
翻译 Learning Spark - LIGHTNING-FAST DATA ANALYSIS 第三章 - (2)
接着慢慢写吧,续上一篇:Learning Spark - LIGHTNING-FAST DATA ANALYSIS 第三章 - (1)动作我们已经知道如何从各种变化创建RDD,但有时候我们想实际对数据做点什么。动作是第二种操作。它们是返回一个最终值给驱动程序或者写入外部存储系统的操作。动作迫使对调用的RDD的变换请求进行求值,因为需要实际产生输出。 继续前一章的日志的例
2015-09-25 20:37:36
845
翻译 Learning Spark - LIGHTNING-FAST DATA ANALYSIS 第三章 - (1)
最近抱恙,在医院割了一刀,静养中,闲着也是闲着,一边看书一边翻译,word写的copy过来,格式稍微有点乱了,回头整章再出个word的排版好的版本吧。第三章 RDD编程 本章介绍Spark处理数据的核心抽象:弹性分布式数据集(RDD)。RDD简单来说就是元素的分布式集合。在Spark中,所有的工作都被表达为创建新RDD,对已存在的RDD做变换,或者对RDD调用某些操作来计算得
2015-09-24 20:06:39
955
原创 理解内存管理的本质
看到很多使用C/C++的朋友都在内存管理上跌倒,不断的苦苦挣扎。究其原因,并非全是因为粗心导致的错误,而是在内存管理的理解上有偏差导致的混乱。个人认为关于内存的使用,最重要的一点就是认识到内存分配和释放操作的本质其实是对一片内存地址范围的所有权的分配。下面会详细阐述一下我个人的理解,希望对需要的朋友,尤其是新人会有些帮助。 作为C/C++开发人员来说,语言本身
2009-03-01 21:02:00
2622
7
原创 VC++6.0调试篇:定位临界区(critical section)导致的死锁
在多线程程序的开发中,因为效率的关系,通常会选用CriticalSection作为同步的机制。初学者在设计开发多线程程序时经常会出现死锁的情况,昨天就看到有个哥们在发帖问这个(明显是郁闷中阿)。这里通过一个例子说下不用Intel的Thread Checker,Thread Profiler,也不用强大的WinDbg,只是用土土的VC6自带的调试器如何来轻松的定位这种死锁问题。
2008-12-10 05:08:00
9638
9
原创 VC++6.0调试篇:远程调试续--DLL篇
在上一篇文章中提到exe的远程调试后,有人问怎么远程调试动态库,所以再发个远程调试的续篇补充一下。 基本流程还是一样的,只不过调试动态库的话,除了需要动态库本身外,还需要调用该动态库的执行程序。这里假设要调试的动态库为TestDLL.dll,其中导出一个函数int Add(int a, int b);在可执行程序Test优快云.exe中会调用TestDll
2008-11-24 20:12:00
7126
20
原创 VC++6.0调试篇:远程调试
VC开发环境之所以提供远程调试的能力,是因为有些情况下单机调试会让你崩溃掉。。。比如,调试GUI程序的WM_PAINT消息,因为要单步调试,所以调试器会对界面的重绘产生副作用(Heisenberg不确定性原理)。当然还有些别的情况也适用,比如程序在测试环境运行的好好的,但是在客户那行为总是异常,这时候如果可以TCP远程连接上去维护的话,就能通过远程调试的特性在出现状况的系统环境中
2008-11-23 21:02:00
8410
12
原创 实战:结合Dr.Watson系统日志和Vc6来定位多线程环境下程序异常退出的错误
当开发的软件发布以后,在客户那运行时可能会因为各种原因导致程序退出。这种情况很尴尬,很明显我们无法在客户机器上装个Visual Studio调试,所以必须有机制来收集出错的信息。软件本身的运行日志能提供部分信息,但是可能还不够。Windows系统为此提供了解决方案:Dr.Watson工具。Dr.Watson也算是一个小巧的调试器,32位的版本名字是drwtsn32.exe。可用于当系统中有
2008-09-29 06:36:00
7628
10
原创 Windows中主流的调试器介绍
调试器,顾名思义,就是用于调试的工具。为什么要调试呢?这得从一条虫子(bug)说起。江湖中传说还是在第一代真空管电子计算机时代,有一次研究人员发现计算机的行为不正常。于是他们就开始检查每个环节想找到原因,最终他们在机器里找到了条虫子(bug)从而解决了问题。于是后来便把发现并解决程序中与预期不符的行为称之为捉虫或除虫,也就bug加个De-前缀,即Debug。 火星人开发的程序是不是绝对没有
2008-09-21 09:18:00
1935
1
原创 昨天在单位遭遇威金木马病毒,可能是变种,手动杀之
症状是任务管理器里有logon_1.exe或者rundl132.exe。简单分析后,发现所有的exe几乎都被感染,每个目录下有个_desktop.ini文件用于记录日期。explorer.exe进程中有dll.dll动态库。c:/windows/system32/drivers目录下有svchost.exe在开机时运行。 杀毒比较简单: 1.断了网线 2.安全模式启动
2008-09-12 07:10:00
1248
原创 VC++6.0调试篇:运行时间的观察--watch窗口的技巧续
微软精心打造的VC调试器确实非常方便,再来看个watch窗口的小技巧:用作计时器 有时候可能想要知道个函数或者一段代码运行需要的粗略时间。一般是假如一些计时的处理,比如函数开始时调用GetTickCount()记录开始时间,完了在调用一边获得结束时间,一减就出来~~ 不复杂,但是确实需要动代码。实际上调试器中的watch窗口就能帮你简单的完成这个功能。很简单的代码,mai
2008-09-08 19:22:00
2758
原创 window服务程序突破限制访问网络共享资源总结
好久没来优快云了,随手写了篇更新一下,写错的地方多多包涵哈~。 Windows中,程序以服务的方式运行好处多多。可以随着系统启动而自己启动,都不必等用户登陆;当程序出现异常退出时,系统提供了机制能自动重新加载起来;可以用LocalSystem的账户执行,这是个在本地权限极高的系统内建账户,属于系统TCB的一部分。但是也有些限制,比如有个注册表键好像不能访问,跟可怕的是不能通过网络访问
2008-09-07 19:41:00
4253
6
原创 手动清除超猛木马群:NewSys55.Sys msosfpids32.sys msosdohs.dll msosmhfp00.dll msosmnsf00.dll
昨晚下班回家,老爸说机器不行了,总出错。一开机就看到explorer.exe报错,关了,开ie,ie报错,md,肯定是中毒了。注册表看了看,App_inits挂了3个dll: msosdohs.dll msosmhfp00.dll msosmnsf00.dll。于是去c:/windows/system32下搜索之,没有!奇怪。用process explorer.exe查找这3个动
2008-04-11 06:58:00
2443
2
原创 reinterpret_cast的本质
先看看下面的代码:#include iostream> using namespace std;void main() { int i = 875770417; couti" "; char* p = reinterpret_castchar*>(&i); for(int j=0; j4; j++) coutp[j]; coutendl
2008-03-24 06:46:00
3042
2
原创 浅谈VC6中Debug版本与Release版本生成的Exe的差异
用Vc6编写的程序有时候Debug版本好好的,Release版本运行就出错,很多人都遇到过这种问题。前几天又有人问起,于是找了点时间写下这篇东西。总结了一部分Debug版本和Release版本的区别,都是些个人理解,欢迎交流。 Debug版本和Release版本之所以有区别,就是在于各自的编译项不同。不同的编译项组合产生不同的代码,Debug版本的编译项屏蔽了编译
2008-03-23 09:45:00
2641
4
原创 VC++6.0调试篇:变量的观察--watch窗口的技巧
接着上篇,写一下VC6的watch窗口的一些小技巧,对于调试过程是非常有帮助的。VC6年纪已经很大了,微软好像也不再支持,但是还是有很多人在用。我本人是非常喜欢它的小巧(相对vs2003,2005),占资源少,即使这样它的调试功能仍然超级强,真是不错。 好,废话到此结束,下面贴代码来说明:#include stdio.h>#include windows.
2008-03-16 12:34:00
11184
6
原创 VC++6.0调试篇:内存断点
经常有人问我关于内存断点的问题,刚才看帖又看到一个哥们问起这事。干脆就写一篇简单教程吧。 翻出了一个快排的程序。初始化了一个待排序数组,这时候如果我想看看arr[0]这个内存单元的值是何时开始变化的,那么就可以在这个内存地址直接下数据断点。打开Edit-->Breakpoints菜单,出现Breakpoints窗口,选Data叶面。内存断点需要在调试过程中使用,这
2008-03-08 08:42:00
8874
4
原创 看cgx视频的,中毒了吧?
最近以cgx,zbz,a gill为代表的娱乐界狠狠地输出了一下价值观阿,嗯,挺好。但是一小撮流氓团伙借机发布带木马的假视频,很不和谐~!昨天就有哥们中招了,于是简单看了一下。其特征是:1.会生成一个服务,服务名为SYSTEM,描述为:系统自带的一款清理磁盘工具2.C:/Program Files目录下生成sachost.exe,还有setupway.txt3.C:
2008-02-08 09:42:00
2616
翻译 Windows rootkits of 2005, part three(翻译)
本系列的最后一章将探索5种不同的rootkit侦测技术用于发现Windows rootkit的分布。另外还会谈到9种为系统管理员设计的工具。1.介绍 在过去几年里Rootkit已经发展得很成熟,2005年中随着各种恶意软件甚至音乐CD蜂涌而至。尽管计算机系统被rootkit扰乱后要发觉或者清除rootkit是极度困难的,但是仍然有些方法可以侦测不同程度的rootkit。
2007-07-23 13:01:00
2036
翻译 Windows rootkits of 2005, part two(翻译)
上一篇文章中,我们谈到了当前的rootkit开发技术。本文更深入一点,将焦点集中在rootkit技术的最前沿。在第三篇,也就是本系列的最后一篇中,将重点论述rootkit侦测的各种方法及安全方面的专业的应对措施。 本文讲述的方法是在Black Hat 2005大会上介绍的Shadow Walker的rootkit原型试验时提出的。这些方法使得攻击者通过控制扫描器在
2007-06-27 12:24:00
2005
Deep Learning with PyTorch中文版前5章
2019-01-27
Learning Spark中文版 - 第四章 处理键值对
2015-10-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人