自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大数据挖掘SparkExpert的博客

大数据智能相关理论、技术与工具的学习、理解和精通掌握过程集合

  • 博客(11)
  • 收藏
  • 关注

原创 HIVE表中分区的删除

HIVE本身是不太支持更新的,要从其中删除某一行其实也是费劲的。不过HIVE本身还提供一种机制,可以删除其中的分区。只要某一条记录在某个分区中,就可以实现用个“转弯”的方式来实现,即先删除分区,再手动去掉这条记录,再导入到分区中。如首先查到某个表中有记录7904个, 用这个命令:ALTER TABLE shphonefeature DROP IF EXISTS

2016-03-31 11:01:04 60138

原创 scala Calendar中获取月份遇到“坑”

calendar.get(Calendar.MONTH) 月份是从0开始的  你设置是12 其实系统以为是1月,所以用0来表示1月,你如果想表示12月那就应该设置calendar.set(2011,11,31);  这样就会读出来是数字12 之前没有写过这样的函数,结果在HIVE里面查找分区,结果发现经常出错,其原因居然在于这个地方。后面直接+1就成功解决了。sca

2016-03-31 10:54:21 5611

原创 spark dataframe新增列的处理

往一个dataframe新增某个列是很常见的事情。然而这个资料还是不多,很多都需要很多变换。而且一些字段可能还不太好添加。不过由于这回需要增加的列非常简单,倒也没有必要再用UDF函数去修改列。利用withColumn函数就能实现对dataframe中列的添加。但是由于withColumn这个函数中的第二个参数col必须为原有的某一列。所以默认先选择了个ID。

2016-03-31 09:34:54 39969 3

原创 hive中常量列的添加和查询

在正常应用场景中,常常会从HIVE中直接获取某个DATAFRAME,这个dataframe除了与数据表中某些字段的提取,还往往会涉及到一些常量列的添加,用以如区分数据等场景。hive中原生提供了这样的功能。非常简单。如这个语句:select *, 1 a, 24 hours from **. 就实现了在某个表的原有字列后面添加a, hours两个字段。且这两个字段的数值都为

2016-03-30 20:46:06 7622

原创 Spark RDD(DataFrame) 写入到HIVE的代码实现

在实际工作中,经常会遇到这样的场景,想将计算得到的结果存储起来,而在Spark中,正常计算结果就是RDD。而将RDD要实现注入到HIVE表中,是需要进行转化的。关键的步骤,是将RDD转化为一个SchemaRDD,正常实现方式是定义一个case class.然后,关键转化代码就两行。data.toDF().registerTempTable("tabl

2016-03-23 17:04:33 22802 1

原创 中国期刊数据库元数据信息的多线程爬取

[注:本文所做实验只是用来进行学术研究,未进行任何商业操作。]在研究复杂网络过程中,其中异质网络是一种很普遍的现象。为了获取全面的数据,想着爬取期刊信息数据库,因为里面蕴含了丰富的数据信息,包括论文与论文之间的关系,论文与作者的关系,作者与作者的关系,作者与机构的关系,论文与关键字的关系。从这里面可以进行各种关系的挖掘和推理。然而要想爬这个数据,其实上受限制很大

2016-03-23 11:01:17 1245

原创 JSoup/NSoup对CSS类名称中含空格的处理

在爬虫过程中,经常需要对网页内容进行信息提取。而在这处理过程中,JSoup是经常常用的库。(Nsoup是Jsoup的.net开发版本)从JSOUP的官网例子中,可以处理几乎任何节点数据。但是在查找某个类别的CSS名称过程中,由于名称存在空格,导致其提取内容问题返回为空。相信这个问题大家经常遇到,于是在此将过程记录一下。如下面一个例子:

2016-03-19 16:30:13 2046

原创 spark批量读取大量小文件的办法

在实际工程中,经常会遇到要一起读取众多小文件的办法。本来正常情况下是进行文件夹的遍历。幸运的是,spark原生是支持这种功能的。它可以批量地读取众多的文件,也可以按照一定的方式进行过滤。命令十分简单。如下:sc.textfile("/dir/*.txt")其中DIR就是路径,而*.txt则是对某种类型的文件进行过滤。通过这种方式,可以直接实现对众

2016-03-17 10:47:59 11510

原创 initial job has not accepted any resources的spark错误解决办法

在运行多个spark应用程序的时候,经常会出现initial job has not accepted any resources的错误。而如果用spark-submit方式提交的话,经常是结果不显示。而在监控网页上看到的是状态一直在waiing.如下所示。经过仔细检查,发现是CORES的问题,由于之前的程序将CORES全部占用,而后来的任务没有足够的CPU来支撑,

2016-03-04 16:57:35 9748

原创 spark sql hive批量导入文本文件

在很多情况下,会需要将批量生成(如按天生成的记录)导入到HIVE中。针对这种应用场景,进行实验。首先需要进行文件目录的遍历,借助SCALA强大的函数式编程能力,利用ARRAY中的MAP函数进行操作即可。如函数如下:def LoadIntoHive(sc:HiveContext,dir:String):Unit=       {             var cdrDi

2016-03-03 16:29:11 4118

原创 scala对时间(date)字符串转化为时间戳timestamp的实现

在scala编程中,想实现从字符串转化为timestamp的过程中,查找相关资料,才发现资料还是不多。因此在这里将实现过程记录一下。(注:这种应用情况非常广泛,如从文件中解析某个时间字符串,转化为时间戳再存到HIVE中)首先写一个转换的函数。import java.sql.Timestampimport java.text.SimpleDateFormatimport

2016-03-02 16:34:18 28278

空空如也

空空如也

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

TA关注的人

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