python之路 之一pyspark

摘要:
pip包下载和安装pyspark pipingsstallpyspark。在这里,您可能会遇到安装超时并添加参数--timeout=100pipdefaulttimeout=100installUpyspark。这是我写的一些代码。运行时没有问题,但我不知道如何从pyspark importSparkConf中获取rdd和dataframe中的值,从pyspar中获取SparkContext

pip包下载安装pyspark

pip install pyspark  这里可能会遇到安装超时的情况   加参数  --timeout=100

pip   -default   -timeout=100     install -U pyspark 

下面是我写的一些代码,在运行时,没什么问题,但是目前不知道怎么拿到rdd与dataframe中的值 

from pyspark import SparkConf, SparkContext
from pyspark.sql import HiveContext,Row,DataFrame
from pyspark.sql.types import StructType,StructField,StringType,IntegerType



appname = "myappname"
master = "local"
myconf = SparkConf().setAppName(appname).setMaster(master)
sc = SparkContext(conf=myconf)
hc = HiveContext(sc)


# 构建一个表格 Parallelize a list and convert each line to a Row 将列表并行化并将每行转换为一行
# 构建表可以用applySchema 或者 inferSchema inferSchema已经在1.5之后弃用,由createDataFrame代替
datas = ["1 b 28", "3 c 30", "2 d 29"]
source = sc.parallelize(datas)

splits = source.map(lambda line: line.split(" ")) # 后面是注释
rows = splits.map(lambda words : Row(id=int(words[0]),name=words[1],age=int(words[2])))

myrows = Row(id="a",name="zhangkun",age="28")
#print(myrows.__getitem__(0))
#print(myrows.__getitem__(1))
#print(myrows.__getitem__(2))

# Infer the schema,and register the schema as a table 推断架构,并将架构注册为表
fields=[]
fields.append(StructField("id", IntegerType(), True))
fields.append(StructField("name", StringType(), True))
fields.append(StructField("age", IntegerType(), True))
schema = StructType(fields)
people=hc.createDataFrame(myrows,schema); # 1.5之前使用的是inferSchema
# people.printSchema()
people.registerTempTable("people")
# SQL can be run over SchemaRDD that been registered as a table sql 可以在注册过的表上正常运行了
results=hc.sql("select * from people")

#print(results.show)
for i in results :
print(i)
sc.stop()


突然来个新任务,CDH部署大数据分布式平台 ,含以下组建安装:hadoop、hbase、hive、kafka、spark 暂时上面的线搁置,等回头用到在看,主要还是本人基础比较差,需要多学习一些基础。

免责声明:文章转载自《python之路 之一pyspark》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇LINUX --- echo修改GPIO状态Prometheus自定义指标下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【python标准库学习】thread,threading(一)多线程的介绍和使用

在单个程序中我们经常用多线程来处理不同的工作,尤其是有的工作需要等,那么我们会新建一个线程去等然后执行某些操作,当做完事后线程退出被回收。当一个程序运行时,就会有一个进程被系统所创建,同时也会有一个线程运行,这个线程就是主线程main,在主线程中所创建的新的线程都是子线程,子线程通常都是做一些辅助的事。python中提供了thread和threading两...

python 开发技巧(4)-- 用PyCharm实用技巧(我自己常用的)

pycharm快捷键1.快速导入类 Ctrl + Alt + Space 2.追踪类和方法的定义 Ctrl + b 3.复制当前行 Ctrl + d 4.移动当前行 Ctrl + Shift + (上下箭头) 5.快速提示并且导入需要的包 正常开发的时候,我们都手动去写要引入到包,但是怎么可能记住这么多包在哪个模块,所以这个快捷能够提示并且帮你...

Python 100行代码实现2048小游戏

首先我们来看看我们效果图:  这是最简版后期可以去优化,后端自己写一个可视化页面,或者配上一个前端,可以使我们的程序变得更绚丽。 下面我们开始我们的代码 一、构造一个把0元素移至末尾的函数 [2, 4, 0, 2] --> [2, 4, 2, 0] 1 def zero_end(): 2 """ 3 0元素移至到末尾 4...

linux 安装Python3.6

1、安装依赖 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel 2、下载安装包(可以Windows下载https:...

Eric6安装问题解决

按照http://eric-ide.python-projects.org/eric-download.html中的说明,执行命令:python install.py 却遇到下面的问题: Compiling source files ...   File "C:Users中文名AppDataLocalProgramsPythonPython36Libsit...

【291】Python 中字符串添加到剪贴板

参考:如何使用Python将字符串复制到Windows上的剪贴板上? 实现代码如下: from Tkinter import Tk r = Tk() r.withdraw() r.clipboard_clear() r.clipboard_append('复制到剪贴板的内容') r.update() r.destroy() 写成函数的形式:...