python 安装pyspark_python之路 之一pyspark

这篇博客介绍了如何使用pip安装pyspark,并通过示例展示了如何在Python中创建和操作SparkContext与HiveContext。文章提到了构建DataFrame、注册表及执行SQL的基本操作,同时提到作者将暂停当前学习,转向CDH大数据分布式平台的部署,包括hadoop、hbase、hive、kafka和spark的安装。
摘要由CSDN通过智能技术生成

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 暂时上面的线搁置,等回头用到在看,主要还是本人基础比较差,需要多学习一些基础。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值