大数据-玩转数据-Spark-Structured Streaming 数据源(python版)

本文介绍了如何在Python中使用Spark Structured Streaming处理不同数据源,包括File(支持.csv、.json等格式)、Kafka(详细阐述了生产者和消费者程序的设置与执行)和Socket数据源。此外,还提及了Rate数据源用于测试。文章提供了详细的执行步骤和结果展示,并给出了官方文档链接以供深入学习。
摘要由CSDN通过智能技术生成

大数据-玩转数据-Spark-Structured Streaming 数据源(python版)

1、File 数据源
支持文件格式有 .csv、.json 、.orc、.parquet、 .txt 等
写一个Python 程序,生成模拟数据模拟电子商城的用户登录行为

[root@hadoop1 temp]# vi sparkexampledata.py
#模拟电子商城的用户登录行为
#!/usr/bin/env python3
#-*-coding: utf8-*-
import random
import os
import shutil
import time

DATA_TEMP_DIR='/home/hadoop/temp/filesourcedata'
DATA_DIR='/home/hadoop/temp/filesourcedata/testdata'

ACTION_DEF=['login','logout','purchase']#三种用户行为
DISTRICT_DEF = ['fujian','beijing','shanghai','guangzhou']
JSON_LINE_PATTREN = '{
   {"eventTime":{},"action":"{}","district":"{}"}}\n'#统一模式

#测试文件夹是否存在,如果有就清空掉重新创建
def test_setUp():
  if os.path.exists(DATA_DIR):
    shutil.rmtree(DATA_DIR,ignore_errors=True)
	#递归删除文件夹下的所有子文件夹和子文件
  os.mkdir(DATA_DIR)
  
#测试环境的恢复,对文件夹进行清洗,结束时用它把文件都删了
def test_tearDown():
  if os.path.exists(DATA_DIR):
    shutil.rmtree(DATA_DIR,ignore_errors = True)
	
#生成测试文件
def write_and_move(filename,data):
  with open(DATA_TEMP_DIR+filename,"wt",encoding="utf-8") as f:
    f.write(data)
  shutil.move(DATA_TEMP_DIR+filename,DATA_DIR+filename)

if __name__=="__main__":
  test_setUp()
  #生成1000个文件每个文件里是100行jason数据
  for i in range(1000
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值