1. pyspark读csv文件后无法显示中文

#pyspark读取csv格式时,不能显示中文
df = spark.read.csv(r"hdfs://mymaster:8020/user/root/data_spark.csv", schema=schema) #解决方法,加入encoding='gbk',即
df = spark.read.csv(r"hdfs://mymaster:8020/user/root/data_spark.csv", schema=schema, encoding='gbk')

2. 查看和修改默认编码格式

import sys
#查看默认编码格式
print(sys.getdefaultencoding()) #修改编码格式
sys.setdefaultencoding('utf8') #参考:https://blog.csdn.net/abc_321a/article/details/81945577

3. pyspark导入spark

原因:python中没有默认的sparksession,需要导入

#方法
from pyspark import SparkContext
from pyspark.sql.session import SparkSession sc = SparkContext('local', 'test')
spark = SparkSession(sc)
#之后即可以使用spark
#参考:https://blog.csdn.net/zt7524/article/details/98173650

4. Pyspark引入col函数出错,ImportError: cannot import name 'Col' from 'pyspark.sql.functions'

#有人建议的是,不过我用的时候会报错
from pyspark.sql.functions import col #后来测试了一种方式可以用
from pyspark.sql import Row, column #也试过另一个参考,不过要更新pyspark包之类的,于是暂时没有用该方法,也就是安装pyspark-stubs包:pip install pyspark-stubs
#参考:http://isunix.github.io/blog/2019/06/04/pysparkzhong-yin-ru-colhan-shu-de-fang-shi/
#参考:https://stackoverflow.com/questions/40163106/cannot-find-col-function-in-pyspark
#参考:https://pypi.org/project/pyspark-stubs/

5. Exception: Python in worker has different version 2.6 than that in driver 3.7, PySpark cannot run with different minor versions.

#我是在Red hat环境下,装了两个python版本,于是报错
# 解决方案:在环境中加入想用的python版本
import os
os.environ["PYSPARK_PYTHON"]="/usr/bin/python3"
#参考:https://blog.csdn.net/wmh13262227870/article/details/77992608

6. 在Red hat上使用pip3 安装pandas的时候出错:pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

原因:python 3.7版本会出现这个问题,是因为openssl的版本比较低

方法:必须先升级openssl,然后重新编译或者安装python,顺序要注意

升级openssl和编译python可参考:https://www.cnblogs.com/jasonLiu2018/articles/10730605.html

注意:./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl 是先cd到python解压后的目录,再使用的,例如解压目录是当前目录的:Python-3.7.0,则先在命令行执行 cd Python-3.7.0,进入该目录,执行上述./configure代码,/usr/local/python3是python将要安装的目录,/usr/local/openssl是openssl已安装的目录;然后直接依次:make, make install重装python。

升级openssl可参考:

https://www.cnblogs.com/caibao666/p/9698842.html

https://www.cnblogs.com/mqxs/p/9103031.html

Pyspark笔记一的更多相关文章

  1. PySpark笔记

    spark源码位置:https://github.com/apache/spark Spark Core核心RDD及编程 什么是RDD:1.是一个抽象类不能直接使用,在子类中实现抽象方法是一个抽象类不 ...

  2. Spark调研笔记第4篇 - PySpark Internals

    事实上.有两个名为PySpark的概念.一个是指Sparkclient内置的pyspark脚本.而还有一个是指Spark Python API中的名为pyspark的package. 本文仅仅对第1个 ...

  3. pyspark学习笔记

    记录一些pyspark常用的用法,用到的就会加进来 pyspark指定分区个数 通过spark指定最终存储文件的个数,以解决例如小文件的问题,比hive方便,直观 有两种方法,repartition, ...

  4. pyspark 学习笔记

    from pyspark.sql import SparkSession spark = SparkSession \ .builder \ .appName("Python Spark S ...

  5. 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL

    周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...

  6. Spark.ML之PipeLine学习笔记

    地址: http://spark.apache.org/docs/2.0.0/ml-pipeline.html   Spark PipeLine 是基于DataFrames的高层的API,可以方便用户 ...

  7. Spark调研笔记第2篇 - 怎样通过Sparkclient向Spark提交任务

    在上篇笔记的基础上,本文介绍Sparkclient的基本配置及Spark任务提交方式. 1. Sparkclient及基本配置 从Spark官网下载的pre-built包中集成了Sparkclient ...

  8. Spark 基本函数学习笔记一

      Spark 基本函数学习笔记一¶ spark的函数主要分两类,Transformations和Actions. Transformations为一些数据转换类函数,actions为一些行动类函数: ...

  9. 大数据学习——spark笔记

    变量的定义 val a: Int = 1 var b = 2 方法和函数 区别:函数可以作为参数传递给方法 方法: def test(arg: Int): Int=>Int ={ 方法体 } v ...

随机推荐

  1. DBGrid 单击弹出PickList

    type   myGrid = class(TCustomGrid)   end; type   myInplaceEditList = class(TInplaceEditList)   end; ...

  2. 【相机篇】从到FlyCapture2到Spinnaker

    从FlyCapture2 到 Spinnaker SDK的变换,可参见FLIR公司机器视觉的相机产品:https://www.flir.com/iis/machine-vision/ Spinnake ...

  3. 【JS新手教程】JS修改css样式的几种方法

    本文试验了几种JS修改css样式的方法,方法1:元素.style.样式=样式值.方法2:元素.style.cssText=样式:样式值方法3:元素.style[样式]=样式值 .cssText这种,可 ...

  4. FreeRTOS 时间片,外部中断,任务优先级的一个疑问

    时间片1ms 假设有两个任务,A和B,A任务等待中断里面发出的信号量,B任务在运行 此时,B任务运行了300us的时候中断发生,发出信号量,那么任务A接收到信号量,A任务优先级高,A任务运行 有个问题 ...

  5. SQL命令如何分发到集群的各节点

    有些数据库集群的规模是很大的,有上百个节点,那么维护SQL命令如何快速分发给各个节点,例如:要加个字段,逐个节点操作那是十分低效,枯燥的. TreeSoft增加了[SQL分发]功能,简单配置,可以快速 ...

  6. 客户端连接Codis集群

    新建maven webapp项目 添加相关依赖: <dependency> <groupId>redis.clients</groupId> <artifac ...

  7. laravel 为Eloquent 模型添加replace 和insert ignore 查询功能

    安装:composer require jdavidbakr/replaceable-model 在模型里引入: class model extends Model { ... use \jdavid ...

  8. pandas对时间列分组求diff遇到的问题

    例子: df = pd.DataFrame() df['A'] = [1, 1, 2] df['B'] = [datetime.date(2018, 1, 2), datetime.date(2018 ...

  9. LeetCode 941. 有效的山脉数组(Valid Mountain Array)

    941. 有效的山脉数组 941. Valid Mountain Array 题目描述 给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false. 让我们回顾一下,如果 A ...

  10. Java基础---Java 数组

    数组概念: 数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致. 数组的定义 格式:数组定义格式详解: 数组存储的数据类型: 创建的数组容器可以存储什么数据类型. [] : 表示数组. 数组 ...