Transform Spark

rm -r dp-203 -f

git clone https://github.com/MicrosoftLearning/dp-203-azure-data-engineer dp-203

cd dp-203/Allfiles/labs/06

./setup.ps1

https://github.com/MicrosoftLearning/dp-203-azure-data-engineer/tree/master/Allfiles/labs/06/notebooks

python 复制代码
order_details = spark.read.csv('/data/*.csv', header=True, inferSchema=True)
display(order_details.limit(5))
python 复制代码
from pyspark.sql.functions import split, col

# Create the new FirstName and LastName fields
transformed_df = order_details.withColumn("FirstName", split(col("CustomerName"), " ").getItem(0)).withColumn("LastName", split(col("CustomerName"), " ").getItem(1))

# Remove the CustomerName field
transformed_df = transformed_df.drop("CustomerName")

display(transformed_df.limit(5))
python 复制代码
transformed_df.write.mode("overwrite").parquet('/transformed_data/orders.parquet')
print ("Transformed data saved!")
python 复制代码
from pyspark.sql.functions import year, month, col

dated_df = transformed_df.withColumn("Year", year(col("OrderDate"))).withColumn("Month", month(col("OrderDate")))
display(dated_df.limit(5))
dated_df.write.partitionBy("Year","Month").mode("overwrite").parquet("/partitioned_data")
print ("Transformed data saved!")
python 复制代码
orders_2020 = spark.read.parquet('/partitioned_data/Year=2020/Month=*')
display(orders_2020.limit(5))
python 复制代码
order_details.write.saveAsTable('sales_orders', format='parquet', mode='overwrite', path='/sales_orders_table')
python 复制代码
sql_transform = spark.sql("SELECT *, YEAR(OrderDate) AS Year, MONTH(OrderDate) AS Month FROM sales_orders")
display(sql_transform.limit(5))
sql_transform.write.partitionBy("Year","Month").saveAsTable('transformed_orders', format='parquet', mode='overwrite', path='/transformed_orders_table')
sql 复制代码
%%sql

SELECT * FROM transformed_orders
WHERE Year = 2021
    AND Month = 1
sql 复制代码
%%sql

DROP TABLE transformed_orders;
DROP TABLE sales_orders;
相关推荐
_ziva_1 分钟前
小白入门:手把手教你把本地代码推送到 GitHub(完整流程)
大数据·elasticsearch·搜索引擎
易晨 微盛·企微管家4 分钟前
2026企业微信AI智能客户管理指南:3步落地+行业案例
大数据·人工智能
zhangxl-jc4 分钟前
SparkStreaming消费Kafka 重启任务时重复消费数据
分布式·spark·kafka
热忱11285 分钟前
Git 全套常用命令手册(含日常开发示例)
大数据·git·elasticsearch·搜索引擎
Gofarlic_OMS7 分钟前
Fluent许可证使用合规性报告自动化生成系统
java·大数据·运维·人工智能·算法·matlab·自动化
AI营销前沿14 分钟前
原圈科技AI营销内容:SaaS案例创作告别低效,效率翻倍
大数据·人工智能
币之互联万物19 分钟前
消费品营销战略咨询公司怎么选?哪家靠谱?
大数据·人工智能
Hello.Reader22 分钟前
Flink Hive 把 Hive 表变成“可流式消费”的数仓底座
大数据·hive·flink
2501_9481201526 分钟前
大数据背景下推动XX旅游发展的分析与研究
大数据·旅游
sld1682 小时前
农资行业B2B多租户商城系统推荐,适配农业经销商层级管理
大数据·人工智能