![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pyspark
土豆土豆,我是洋芋
这个作者很懒,什么都没留下…
展开
-
python、pyspark连接hive/oracle
前期准备(写在前面,以下配置信息均是linux服务器操作配置。)python连接时需要安装oracle客户端文件,pip安装cx_Oracle。pyspark需要配置jdbc信息。1.安装客户端以下两个安装命令,需要获取服务器的root权限或sudo权限rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm (1)rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1原创 2020-06-22 18:48:44 · 1370 阅读 · 0 评论 -
linux配置jupyter连接大数据集群spark,并配置jupyter任务资源
最近一直在用pyspark开发大数据项目,但每次报错都要重新提交spark-submit执行任务,效率实低,在网上搜索发现能够配置jupyter实现spark交互,测试了一下,真是相见恨晚!现有环境:系统:linux;集群:多结点大数据集群;整个过程的操纵步骤:下载anaconda——配置jupyter——配置环境信息!done。因为spark集群中自带的python是python2,所以为了方便,建议用python2。(不然每个结点都需要配置python,麻烦都一批)因为已经存在大数据集群,原创 2020-06-01 14:50:20 · 2076 阅读 · 4 评论 -
pyspark windows函数中lag\lead用法
用于增加排名信息,rank需求一:根据用户id进行排序,增加排名列。from pyspark.sql import Window#新增列名称:rownumberdf3 = df2.withColumn("rownumber",F.row_number().over(Window.orderBy("id")))需求二:根据不同用户类型,结合用户id 进行排序,增加列排名。#选择desc,...原创 2020-05-12 14:05:38 · 3137 阅读 · 0 评论 -
pyspark dataframe创建空表、数据关联、数据标记
创建空数据表;分组统计groupby;两dataframe关联合并;为数据增加排序列;数据条件标记。原创 2020-04-14 20:38:55 · 2349 阅读 · 0 评论 -
pyspark 报错AnalysisException: u'Detected implicit cartesian product for LEFT OUTER join between logic
代码:vol_union = vol_union.join(cons_data[['meter_id', 'cons_sort_code','tg_no','cons_id']],vol_union['ID'] == cons_data['meter_id'],how = 'left')报错:AnalysisException: u'Detected implicit cartesian p...原创 2020-04-03 15:59:03 · 5449 阅读 · 0 评论 -
pyspark 批量修改Dateframe列名
toDF方法df4 = df3.toDF(‘tg_id’,‘org_no’,‘data_date_day’)df3为原有数据表,df4为改过列名的df3。mapping 方法from pyspark.sql.functions import colmapping = dict(zip(['col_1', 'tg_id'], ['col_2', 'org_no'], ['col_3', '...转载 2020-01-07 19:38:25 · 2818 阅读 · 0 评论 -
pycharm连接服务器spark报错
环境:windows+pycharm+pyspark错误一:OSError: [Errno 2] No such file or directoryTraceback (most recent call last): File "/tmp/pycharm_project_744/work/qiedian/data_preprocessing.py", line 28, in <mod...原创 2020-01-06 09:58:19 · 819 阅读 · 0 评论 -
使用argparse 函数在命令行定义读取文件位置及输出文件位置
目标,能在命令行设置读取文件的位置、写入文件的位置及文件名。读取和写入的位置都在hdfs中,文件类型是parquet文件。#-*- coding:utf-8 -*-from pyspark.sql import SparkSessionimport argparse#建立集群连接spark = SparkSession.builder.master("yarn-client").app...原创 2019-06-04 15:38:48 · 2860 阅读 · 0 评论 -
pyspark dataframe数据处理
空值处理(1)删除空值#删除所有包含空值的行df = df.na.drop()#删除‘excute_errormsg’列含有空值的行df = df.na.drop(subset='excute_errormsg')(2)空值填充#所有空值填充‘888’df = df.na.fill('888)#'excute_errormsg'列的空值填充‘888’df = df.na....原创 2019-03-11 16:39:47 · 1019 阅读 · 0 评论 -
pyspark读写hdfs,parquet文件
#-*- coding:utf-8 -*-import jsonfrom pyspark.sql import SparkSession#连接集群spark = SparkSession.builder.master("yarn-client").appName("test").getOrCreate()#读取数据,数据位置‘hdfs://bd01:8020/user/root/par...原创 2019-03-11 14:16:16 · 5779 阅读 · 0 评论 -
pyspark读取hbase,并将spark-rdd转化为dataframe
pyspark连接hbase,并将spark-rdd转化为dataframe@TOC建立spark连接,获取rdd#-*- coding:utf-8 -*-import jsonfrom pyspark.sql import SparkSessionhost = '192.168.11.xxx'#table nametable = 'I_OCS_COLLECT'#建立spark...原创 2019-03-03 17:09:50 · 1365 阅读 · 2 评论