
spark
ZhanYunQI
这个作者很懒,什么都没留下…
展开
-
combineByKey报错 unsupported oprand t
def createCombiner(x):return [x]def mergeValue(x,y):x.append(y)return xdef mergeCombiners(x,y):return len(list(set(x+y)))a.combineByKey(createCombiner,mergeValue,mergeCombiners)程序原原创 2016-12-01 09:27:30 · 566 阅读 · 0 评论 -
使用spark检查数据质量
由于使用HIVE查询出来的报表数据会因为源数据的异常导致不可用,这个时候需要根据数据情况修改代码,下面是利用spark针对几个检查项,将检查结果插入到表中# -*- coding: utf-8 -*-from pyspark import SparkContextfrom pyspark import HiveContextfrom pyspark.sql import原创 2016-11-23 19:30:03 · 2603 阅读 · 0 评论 -
TypeError:'NoneType' object is unsubscriptable
python_spark开发的时候,报错TypeError:'NoneType' object is unsubscriptable 打印RDD首条数据没有问题,但是整体插入到HIVE表的时候就报错了,分析发现当结构organization不存在的时候,item[1][1][0],item[1][1][1],item[1][1][2]) 均将无法访问,在范文钱对RDD做一个过滤即可解决问题原创 2016-12-03 12:48:03 · 5091 阅读 · 0 评论 -
sparkSql(hive) 复合数据类型的使用
在Hive中可以使用复合数据类型,有三种常用的类型:Array 数组,Map 字典,Struct结构。在sparkSql中RDD可以转换成非常灵活的DataFrame,但是如果需要将数据结构完整的存储为Hive表,那么在RDD到DataFrame转换中需要遵守一些规则。在Hive中创建复合数据类型的语法:create table plan(clientid string原创 2017-01-09 22:48:09 · 3068 阅读 · 0 评论 -
spark 报错收集
最近做spark sql开发碰到了许多问题,下面对报错信息做下记录1, StructType can not accept object in type 将RDD创建成DataFrame的时候,报上述错误,修正方式如下:将RDD中的行转换成Row类型就可以了2,1, RDD转换成DataFrame的时候,报错:TypeError Integer typ原创 2017-01-11 19:54:08 · 1904 阅读 · 0 评论 -
spark dataframe API 整理
1,从列表中创建dataframe 列表的每一个元素转换成Row对象,利用parallelize()函数将列表转换成RDD,toDF()函数将RDD转换成dataframe from pyspark.sql import Row l=[Row(name='jack',age=10),Row(name='lucy',age=12)] df=sc.parallelize原创 2017-04-27 14:52:00 · 4166 阅读 · 0 评论