HBase Shell初接触

1. 连接到HBase

连接到正在运行的HBase实例使用“hbase shell”命令。该命令位于HBase安装路径的/bin目录下。我这里将bin目录加入到了系统环境变量PATH中。执行命令:

一个中文乱码的问题

前两天同事问了我一个中文乱码的问题。他写了一个json请求的接口,通过浏览器请求接口的时候,返回的json中包含的中文显示了乱码。后来使用jmeter进行测试时也发现返回的是乱码。

之前也遇到过几次Java/JSP中文乱码的问题,知道乱码通常发生在字节流和字符相互转换的过程中。检查了一些这个接口涉及到的几次字节流转换的地方都没发现问题。我这个同事还是挺细心的,…

Spark快速入门

这是整理的Spark官网的《QuickStart》教程。在这篇教程里我们会先使用shell初步接触一下spark,然后再编写一个spark应用。我这里会优先使用scala来完成这些工作。如果想使用python或者java请直接移步原文

shell操作

基础

sprak shell可以让我们快速的熟悉相关的API,同时它也是一个强大的交互式数据分析工具。目前spar…

Python网络爬虫7 – 使用cookie

很多时候,我们要查看的内容必须要先登录才能找到,比如知乎的回答,QQ空间的好友列表、微博上关注的人和粉丝等。要使用爬虫直接登录抓取这些信息时,有一个不太好解决的难题,就是这些网站设置的登录规则以及登录时的验证码识别。不过,我们可以想办法绕过去,思路是这样的:先使用浏览器登录,从浏览器获取登录后的“凭证”,然后将这个“凭证”放到爬虫里,模拟用户的行为继续抓取。…

HttpClient多线程并发

说明:以下的代码基于httpclient4.5.2实现。

我们要使用java的HttpClient实现get请求抓取网页是一件比较容易实现的工作:

Java Fork/Join

Fork/Join框架是ExecutorService接口的一个实现,通过它我们可以实现多进程。Fork/Join可以用来将一个大任务递归的拆分为多个小任务,目标是充分利用所有的资源尽可能增强应用的性能。

和任何ExecutorService接口的实现一样,Fork/Join也会使用线程池来分布式的管理工作线程。Fork/Join框架的独特之处在于它使用了wo…

Python网络爬虫4 – 多线程抓取

之前的内容已经大致实现了如何获取网页、分析网页、获取目标内容。接下来的目标是如何让网页抓取进行得更效率些。在进行抓取的时候,时间的消耗主要是在请求等待的时间上,所以一个最容易想到的优化方式就是使用多线程。

多线程

多线程的实现还是比较简单的,下面是一个简单的线程实现方案:

lambda表达式3 – 方法引用

一个实例

使用lambda表达式可以创建简洁的匿名方法。不过,有时候lambda表达式只是简单的调用了已有的方法。此时,使用方法引用无疑是一个更简洁易读的方案。

再来看看之前使用过的Person类: