IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Data.Analysis.with.Python.and.PySpark:4 Analyzing tabular data with pyspark.sql -> 正文阅读

[大数据]Data.Analysis.with.Python.and.PySpark:4 Analyzing tabular data with pyspark.sql

创建SparkSession对象以开始使用PySpark

from pyspark.sql import SparkSession
import pyspark.sql.functions as F
spark = SparkSession.builder.getOrCreate()

PySpark如何表示表格数据?

my_grocery_list = [
["Banana", 2, 1.74],
["Apple", 4, 2.04],
["Carrot", 1, 1.09],
["Cake", 1, 10.99],
]
df_grocery_list = spark.createDataFrame(
my_grocery_list, ["Item", "Quantity", "Price"]
)
df_grocery_list.printSchema()

我们的第一个参数是数据本身。您可以提供项目列表(这里是列表列表)、data frame或弹性分布式数据集;第二个参数是data frame的模式。同时,传递列名列表会推断出我们的列的类型(分别是string、long和double)。

主节点知道数据帧的结构,但实际数据在工作节点上表示。每一列都映射到存储在PySpark管理的集群中某个位置的数据。我们在抽象结构上操作,让主节点高效地委派工作。


PySpark用于分析和处理表格数据

名词解释:exploratory data analysis (or EDA)

PySpark不提供任何图表功能,也不使用其他图表库(如Matplotlib、seaborn、Altair或plot.ly)通常的解决方案是使用PySpark转换数据,使用toPandas()方法将PySpark数据框转换为pandas数据框,然后使用您最喜欢的图表库。

数据准备:

download the file on the Canada Open Data portal (http://mng.bz/y4YJ);
select the BroadcastLogs_2018_Q3_M8 file.

You also need to download the Data Dictionary in .doc form, as well as the
Reference Tables zip file, unzipping them into a ReferenceTables directory in data/
broadcast_logs.

make sure you have the following:

在PySpark中读取和评估分隔的数据?

通过SparkReader专门处理CSV文件

数据操作的基础:选择、删除、重命名、排序、诊断

logs.select("BroadcastLogID", "LogServiceID", "LogDate").show(5, False)
# +--------------+------------+-------------------+
# |BroadcastLogID|LogServiceID|LogDate |
# +--------------+------------+-------------------+
# |1196192316 |3157 |2018-08-01 00:00:00|
# |1196192317 |3157 |2018-08-01 00:00:00|
# |1196192318 |3157 |2018-08-01 00:00:00|
# |1196192319 |3157 |2018-08-01 00:00:00|
# |1196192320 |3157 |2018-08-01 00:00:00|
# +--------------+------------+-------------------+
# only showing top 5 rows

Four ways to select columns in PySpark, all equivalent in terms of results

# Using the string to column conversion
logs.select("BroadCastLogID", "LogServiceID", "LogDate")
logs.select(*["BroadCastLogID", "LogServiceID", "LogDate"])
# Passing the column object explicitly
logs.select(
F.col("BroadCastLogID"), F.col("LogServiceID"), F.col("LogDate")
)
logs.select(
*[F.col("BroadCastLogID"), F.col("LogServiceID"), F.col("LogDate")]
)

当显式选择几列时,不必将它们包装到列表中。如果已经在处理列列表,可以使用*前缀将其解压缩。

data frame在columns属性中跟踪其列;logs.columns是一个Python列表,包含logs daya frame的所有列名。

使用drop()方法除去列

logs = logs.drop("BroadcastLogID", "SequenceNO")

Getting rid of columns, select style

logs = logs.select(
*[x for x in logs.columns if x not in ["BroadcastLogID", "SequenceNO"]]
)

创建不存在的内容:使用withColumn()创建新列

Extracting the hours, minutes, and seconds from the Duration column

?

WARNING If you create a column withColumn() and give it a name that
already exists in your data frame, PySpark will happily overwrite the column.

WARNING Creating many (100+) new columns using withColumns() will slow
Spark down to a grind. If you need to create a lot of columns at once, use the
select() approach. While it will generate the same work, it is less tasking on
the query planner.

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-12 17:36:19  更:2022-03-12 17:40:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:42:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码