深度实践SPARK机器学习_学习笔记_第二章2.3加载数据

2.3加载数据

1.下载数据文件u.user

head -3 u.user ##查看文件前几行

cat u.user |wc -l 或者 more u.user |wc -l    ##数文件记录数

2. 把本地文件上传到hdfs 两步:

第一步,查看本地是否有文件; 语句: hdfs dfs -ls +文件路径;

第二步,把本地文件上传 ;语句:hdfs dfs -put u.user   /u01/bigdata/data(前面是文件名,后面是hdfs路径)

第三部,查看hdfs dfs -ls +/u01/bigdata/data/;

3.以pyspark为例,加载数据并把数据注册成一个表

首先启动Pyspark客户端,导入需要的包,通过textFile的方法去取

#导入需要的包
from pyspark.sql import SparkSession
from pyspark.sql import Row
#初始化SparkSession
spark = SparkSession\
        .builder \
        .appName("python Spark SQL basic example") \
        .config("spark.some.config.option","some-value") \
        .getOrCreate()
app_id = spark.sparkContext.applicationId

print(app_id)                       --这是展示app_id的地址方便查看

##加载数据,并处理分隔符数据
sc = spark.sparkContext
userrdd = sc.textFile("hdfs://&*&*&***&*/u.user").map(lambda line: line.split("|"))

##利用反射机制推断模式(schema)把dataframe注册成一个table

温馨提示:不要把fields写成field哟。   

正确代码

df = userrdd.map(lambda fields :Row(userid = fields[0],age = int(fields[1]),gender = fields[2],occupation = fields[3],zip = fields[4]))
schemauser = spark.createDataFrame(df)
schemauser.createOrReplaceTempView("users")(如果在生产环境上搞不要担心users表,这是一个临时视图表)

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白学习指南

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值