自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(143)
  • 资源 (4)
  • 收藏
  • 关注

原创 时间系列预测评估

时间系列预测(time series prediction)问题简单来说,就是给定基于时间系列的历史数据,我们去预测未来时间系列的值。这个一个很典型的问题,并且在很多的应用中都会使用到。比如我们生产销售一种产品,我们知道过去一段时间每天的实际销量,然后我们想预测未来一个月一个季度一年的销售量从而为生产或者备货做指导。这个链接有更详细地介绍这个问题以及预测的方法。那么在这么多种预测方法中,哪种更我们我们的场景呢?我们需要一种方式来评估预测的好坏。Darts工具中也提供了很多评估的函数。这里我们介绍一些常用的评

2022-06-16 16:55:46 607 1

原创 Databricks Delta资料及使用TIPS

Reference: Creating Delta Lake Tables in Azure DatabricksDelta lake is an open-source data format that provides ACID transactions, data reliability, query performance, data caching and indexing, and many other benefits. Delta lake can be thought of as an

2022-05-26 17:53:33 615

原创 Databricks中PySpark的一些常用操作

关于PySpark API的详细可以参考:pyspark.sql.DataFrame.createOrReplaceTempView — PySpark 3.2.1 documentation下面用在Databricks Notebook中的一些操作场景及实现作为例子:1. Join多个stream并Partition输出# event.request is delta table# string to timestamp: to_timestamp()# array size: siz.

2022-03-25 11:26:14 706

原创 PySpark中加载schema的几种方式

现在组里接的项目主要是在Azure Databricks里面用PySpark写脚本处理数据。而它目前的代码单元测试这一块是完全崩了,其中有几个已经写了的测试例子也无法运行,原因是它会加载avro的schema文件作为目标schema的转化和验证。但是因为处理逻辑的变更已经增加了一些列,可以avro文件并没有一直更新,使得测试无法成功。可是直接编辑avro文件尝试了很多软件或者在线编辑都无法成功,于是就思考替换这里的schema的加载方式。下面根据网络查阅及整理,找到的几种加载schema的方式如下:

2022-03-21 15:52:39 2835

原创 XGBoost及CNN算法的文本分类试验

2018年6月份SMP会议有一个比赛,是头条抓取的新闻进行分类决定是人类作者、机器翻译、自动摘要、或者机器作者。多年没有做过这方面的工作,看到朋友的介绍,就想拿那个数据来练习一两个算法。正好在网络上牛人看到有介绍连他以前参加类似文本分类比较的介绍以及在github上共享的源码,于是就clone了他的代码来做测试。但是因为小白,基本上看不太懂,加上我装的python 3以上的版本,所以错误百出。...

2018-07-19 17:13:19 4150

原创 Spark Streaming Join with Watermark

我们常常会有这样的应用场景,就是一个复杂系统可能是由多个模块组成,然后每个模块都会有自己的logging系统。最后我们在处理日志数据的时候,会希望能够把不同模块的日志数据join在一起。一个简单的例子就是,广告有显示的日志,然后当用户点击了广告后又会有点击的日志,那么如果我想把广告信息和点击信息组合在一起就需要从这两个日志流源得到的数据进行join。这在API文档里面有相应的介绍Stream-St...

2018-06-26 15:43:49 1140 1

原创 Azure Databricks上同时加载多个eventhub streaming源

这里面又是一个简单的模拟,通过创建两个event hubs。然后模拟同时给这两个event hub发流数据。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Microsoft.ServiceBus;us...

2018-06-21 11:02:42 551

原创 Spark Streaming中withWatermark的简单尝试

我们在处理流数据的时候,往往会有实时性要求。可是如果我们直接按照程序所在服务器的当前时间计算又不行,比如当上游日志数据延迟了,则所有的这部分数据都会被抛弃掉。所以一般我们在记录日志的时候,加上日志的时间戳。这样我们在进行流处理的时候,就可以把日志记录的时间拿出来,根据这个时间来决定流处理是不是要往下进行。而往往我们会以最早到达的日志作为时间参考点,如果下一个日志比这个时间点晚的太多,就可以抛弃掉。...

2018-06-19 16:01:29 5986

原创 Azure中databricks和eventhub的集成

Event Hub: https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-what-is-event-hubsEvent Hub和Databricks集成:https://docs.azuredatabricks.net/spark/latest/structured-streaming/streaming-event-hubs...

2018-06-19 10:45:31 1228

原创 Azure中Databricks上运行spark streaming job

我们需要先用Maven创建一个scala的工程,具体步骤可以参考然后用IntelliJ IDEA打开这个Maven Project。其中在根目录下游一个pom.xml文件,针对我们项目的需求需要加上相应的dependency包。比较我们要建一个spark streaming的project,所以我们必须要加spark相应的包。其中需要注意的是scope的功能。根据我的实验,如果这个参数值为prov...

2018-06-15 13:45:14 857

原创 JQuery和HighCharts: JavaScript图标库

JQuery教程:http://www.w3school.com.cn/jquery/HighCharts教程:http://www.runoob.com/highcharts/highcharts-tutorial.html

2017-08-25 11:49:34 424

原创 几种工厂模式的区别

本文主要根据网络资料整理,主要参考:设计模式导学目录工厂模式主要包括简单工厂模式、工厂方法模式、抽象工厂模式。看完三种模式的介绍,也许你和我一样并不能完整的说出它们的区别,感觉好像有点类似又有点区别。查阅了网络上的一些解读(例如知乎问答抽象工厂模式和工厂模式的区别),个人觉得可能主要区别是:简单工厂模式:定义一个工厂类,根据参数的不同返回不同类的实例,被创建的实例通常有共同

2017-08-14 12:44:11 2248

原创 C#中动态代理与泛型函数

上文中介绍了Java中的动态代理(http://blog.csdn.net/tanzhangwen/article/details/47725967),那么如果我想要用C#实现类似的功能该如何处理呢?C#中动态代理 关于C#实现类似动态代理的方法,已经有一些总结,比如(http://joewalnes.com/2004/02/12/how-to-do-dynamic-proxies-in-c/)介

2015-09-06 09:40:15 3876

原创 纯接口的动态代理

参考:http://www.ibm.com/developerworks/cn/java/j-lo-proxy1/ 代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。相关类及接口java.lang.reflect.Proxy:这是 Java 动态代理机制的主类,它提供了一组静态

2015-08-17 15:38:13 2663 1

原创 C#调用RESTful API

现在很多的网络服务都用RESTful API来实现。比如百度的搜索推广API介绍使用Rest原因:REST+JSON风格的API相比SOAP+XML,好处是:调用更加灵活,也更容易扩展;JSON格式传输信息比XML减少约30%的数据量,效率更高。因此建议开发者使用REST风格的API。查找了很多调用Rest API网络碎片资料,总是无法理解或者生效。下面摘一点觉得有效果的作为参考吧。http://w

2015-08-08 15:22:31 26078 1

原创 C#使用SOAP获取webservice实例解析

本文主要参考如下两个链接,并整理: Java使用SOAP: http://www.cnblogs.com/linjiqin/archive/2012/05/07/2488880.html C# send soap and get response: http://stackoverflow.com/questions/4791794/client-to-send-soap-request-and

2015-07-23 15:27:23 11129

原创 LINQ使用与并行

LINQ介绍 参考:https://msdn.microsoft.com/en-us/library/bb397906.aspx LINQ查询主要执行操作包括:1)获取数据源;2)创建查询;3)执行查询。需要注意的是只有在使用查询结果的时候才会去执行查询,或者在创建查询之后再加上tolist或者toarray之类的功能则可以立即执行。 // The Three Parts of a

2015-07-18 10:30:17 1565

原创 C#中HTML/XML处理及正则表达式

HTML Parser 一个比较方便的html解析package是HtmlAgilityPack,可以按照如下图显示在Visual Studio中安装。 使用该包的一个简单实例代码如下: public static bool CrawlCategoryReviewInfo(string categoryUrl) { var resp = Ht

2015-06-18 16:16:59 2676

原创 MS SQL借助临时表处理获取复杂结果

如果我们需要多步的操作,或者需要从不同的数据源表取数据组合,这时候可能就需要临时表来存储中间结果。举一个简单的例子,我们有淘宝每天的销售额以及天猫每天的销售额分表在不同的表中存储。而我们的需求是将每个月淘宝以及天猫的销售额输出。思路:1. 先将淘宝和天猫按照月份的销售额数据获取到,然后再join2. 要按照月份汇总销售额需要先将记录日期转化为月份得到新的表再按照月份grou

2015-05-07 18:24:08 917

原创 C#中多线程使用Thead和ThreadPool比较

1. ThreadStart表示执行线程的方法ThreadStart(delegate(){}) public static void testThread() { int Max_Thread_Count = 10; long currentThreadCount = 0; for(v

2015-05-05 15:30:20 2531

原创 C#利用DataTable存取数据

DataTable使用介绍:http://www.dotnetperls.com/datatableSQL结果存到DataTable例子:http://stackoverflow.com/questions/6073382/read-sql-table-into-c-sharp-datatable简要代码例子: String conStr = @"server=svm-

2015-04-21 11:11:15 11811 1

原创 SQL Server Reporting Services创建与订阅报表

倘若数据库中的数据是实时更新的,而我们研究评估所用的报表也是要基于这样的实时数据,这时候我们就可以采用SQL Server Reporting Services(SSRS)服务。一个比较浅显的应用场景是,我们需要观察最近一天、一周或者一月的销售数据KPI并与上一个周期做比较得到相应的表格或图形,而恰好实时的销售数据都会进入到数据库中。这样做的好处是,对于这种功能需求一样,只是输入参数随时间而变化的报

2015-02-27 16:03:25 5949

原创 存储过程输出参数、返回值、返回表及C#调用

存储过程中可以定义输出变量,返回值,执行存储过程还能获得结果集。每个存储过程的默认返回值为0。下面紧接着上文 SQL Server中存储过程Stored Procedure创建及C#调用 基础上写的一个新的Stored Procedure存储过程则包含了输出参数、返回值以及select结果。USE [db]GO/****** Object: StoredProcedure [dbo].[ins

2015-02-26 11:27:56 6820

原创 SQL Server中存储过程Stored Procedure创建及C#调用

存储过程就是已经编译好的、优化过的放在数据库服务器中的一些SQL语句;可供应用程序直接调用。使用存储过程有以下几个优点: 1、执行速度比普通的SQL语句快 2、便于集中控制 3、可以降低网络的通信量 4、保证数据库的安全性和完整性 5、灵活性创建存储过程 可以采用Transact-SQL语句来创建存储过程Stored Procedured。在Microsoft SQL Server Ma

2015-02-25 15:36:11 7172 1

原创 SQL Server的C#连接及对象存在判断

C#连接SQL Server关于C#连接数据库的介绍,这篇文章总结的比较全面。http://blog.csdn.net/candy1232009/article/details/7654927对于C#连接MS SQL Server,主要使用sqlconnection。认证方式主要采用windows集成认证方式或者SQL Server认证模式。连接语句主要如下所示:string cons

2015-02-17 14:29:00 2207 1

原创 SQL Server中服务器身份验证及用户登录

安装过程中,SQL Server 数据库引擎设置为“Windows 身份验证模式”或“SQL Server 和 Windows 身份验证模式”。 安装完成后,您可以随时更改身份验证模式。如果在安装过程中选择了“Windows 身份验证模式”,则 sa 登录名将被禁用,安装程序会分配一个密码。 如果稍后将身份验证模式更改为“SQL Server 和 Windows 身份验证模式”,则 s

2015-02-13 14:57:20 4160

原创 C#中抽象类和接口的异同

抽象类通过在类定义前面放置关键字 abstract,可以将类声明为抽象类。抽象类不能实例化。 抽象类的用途是提供一个可供多个派生类共享的通用基类定义。 例如,类库可以定义一个抽象类,将其用作多个类库函数的参数,并要求使用该库的程序员通过创建派生类来提供自己的类实现。抽象类可以包含非抽象的方法、属性以及抽象的方法、属性。抽象类和抽象方法都必须在派生类中用override进行重写。抽象

2015-01-27 17:20:30 1172

原创 C#继承中abstract、virtual、override和new

abstract详细参考:https://msdn.microsoft.com/zh-cn/library/sf985hc5.aspxabstract 修饰符指示所修饰的内容缺少实现或未完全实现。 abstract 修饰符可用于类、方法、属性、索引器和事件。 在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类。 标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的

2015-01-27 11:51:04 1712

原创 Linux Shell参数扩展(Parameter Expansion)

本文主要参考:http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_02其他资料:http://www.ibm.com/developerworks/cn/linux/l-bash-parameters.html参数扩展的表示形式为:${expression}。expre

2014-11-18 17:15:39 3351

原创 面试题:有限制条件的全排列数

给定一个数组,例如[45,54,2,99,1]给定一个长度l,例如100可以对数组中相邻的两个数交换,前提必须满足两个数的和不大于l求通过这种交换所能够产生的全排列有多少种?对于相同的数,也默认它们不同。这是某外企的电面题,感觉要找到比较好的算法还是挺难的。目前想到的是一种循环暴力搜索加暴力剪枝并回溯的,从测试数据来看,效果还凑合。思路是:暴力搜索:查看任何

2014-11-14 16:17:46 1275

原创 C、Java及Python中计算程序运行时间

C/C++http://wenku.baidu.com/view/9e6f4548852458fb770b56c7.html#include  #include using namespace std;  int main() {     clock_t start, finish;      double totalTime;      start = clock(); 

2014-11-04 17:24:17 1827

原创 Shell脚本通过参数传递调用指定函数

我们在写一些功能性脚本的时候,往往会把操作相似或者参数类似行为接近的函数放在同一个shell脚本中,这样管理方便,维护简单,也很清晰。对于这种情况,通常的办法是,在shell脚本中定义所有用到的函数,然后在正文代码中用case语句读入输入的命令函数参数来调用指定的相应函数。这样就达到一个shell脚本使用的强大功能。下面以一个简单的例子来说明。一个计算器提供了加减乘除的功能:#!/bin/

2014-11-03 16:42:11 10269 5

转载 基于 Jenkins 快速搭建持续集成环境

持续集成概述什么是持续集成随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能再不断变化的需求中快速适应和保证软件的质量也显得尤其的重要。持续集成正是针对这一类问题的一种软件开发实践。它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能

2014-10-27 14:01:52 623

转载 Python中list、tuple、dict区别

Dictionary 是 Python 的内置数据类型之一, 它定义了键和值之间一对一的关系。每一个元素都是一个 key-value 对, 整个元素集合用大括号括起来您可以通过 key 来引用其值, 但是不能通过值获取 key在一个 dictionary 中不能有重复的 key。给一个存在的 key 赋值会覆盖原有的值。  在任何时候都可以加入新的 key-value 对。这种语法同修改存在的

2014-10-25 13:19:47 775

转载 Python中lambda匿名函数

参考:http://www.cnblogs.com/coderzh/archive/2010/04/30/python-cookbook-lambda.htmllambda函数也叫匿名函数,即,函数没有具体的名称。先来看一个最简单例子:def f(x):return x**2print f(4)Python中使用lambda的话,写成这样g = lambda

2014-10-25 12:43:58 1768

原创 Python中sort以及sorted函数初探

sorted(...)Help on built-in function sorted in module __builtin__:sorted(...)    sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted listsort(...)Help on built-in function sor

2014-10-24 12:19:58 9302

原创 Morris Traversal: 非递归不用栈实现对树的中序遍历

参考:http://www.geeksforgeeks.org/inorder-tree-traversal-without-recursion-and-without-stack/1. Initialize current as root 2. While current is not NULL If current does not have left child a)

2014-10-22 13:49:28 967

原创 利用CURL命令调用WebHDFS REST API与Kerberos机制

1. CURL安装cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。cURL还包含了用于程序开发的libcurl。CURL官方网站:http://curl.haxx.se/1.1 Linux安装这个网上资料比较多,只要搜索“curl 安装 linux”就应该有不少介绍。1.

2014-09-26 14:44:11 8841

原创 Linux Shell远程交互命令

scp实现数据的拷贝其他机子copy到本地文件:scp username@hostname/IP:filepath localpath本地copy到其他机子:scp localpath username@hostname/IP:filepath文件夹copy: scp -r username@hostname/IP:folderpath localpath详细参考:http://b

2014-08-25 13:27:21 4720

原创 JSCover+WebDriver/Selenium获取JS代码覆盖率

我们在看JSCover(http://tntim96.github.io/JSCover/manual/manual.xml)介绍及使用说明的时候,往往被图形界面所吸引。这种方式比较适合手工操作,点击和输入即可。但是这种往往界面和真实界面相差比较大,因为真正的网页在JSCover内部的浏览加载框中。这使得原有的Selenium代码可能存在诸多问题。那么如何能够尽量少地改变原有的sele

2014-08-08 17:00:27 3322

Kmeans算法C++实现

Kmeans算法的C++实现,输入的instance的数据结构有设计为静态数组存储和动态链表存储

2010-11-23

POJ上三百多道题目程序源码

具体题目参考: http://poj.org/userstatus?user_id=tanzhangwen 本压缩文件里面有所有已经Accepted的题目的源码,主要语言为c/c++,少量java

2010-11-23

Think in Python

介绍Python语言以及怎么用Python语言来思考及编程,是英文版的好书

2010-03-14

C及C++基本函数说明

有C语言以及C++语言中系统函数的介绍、使用说明。另外还有STL中的队列、堆栈等的介绍,欢迎下载

2009-09-26

空空如也

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

TA关注的人

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