当前位置: 首页 > news >正文

广告网站模板下载 迅雷下载安装信息流广告投放平台

广告网站模板下载 迅雷下载安装,信息流广告投放平台,怎样只做自己的网站,衡阳商城网站制作设计一个基于多个带标签SparkSQL模板作为配置文件和多组参数的PySPARK代码程序,实现根据不同的输入参数自动批量地将数据导出为Parquet、CSV和Excel文件到S3上,标签和多个参数(以“_”分割)为组成导出数据文件名,文件已…

设计一个基于多个带标签SparkSQL模板作为配置文件和多组参数的PySPARK代码程序,实现根据不同的输入参数自动批量地将数据导出为Parquet、CSV和Excel文件到S3上,标签和多个参数(以“_”分割)为组成导出数据文件名,文件已经存在则覆盖原始文件。
代码如下:

import json
from pyspark.sql import SparkSessiondef load_config(config_path):with open(config_path, 'r') as f:return json.load(f)def main(config_path, base_s3_path):# 初始化SparkSession,配置S3和Excel支持spark = SparkSession.builder \.appName("DataExportJob") \.config("spark.jars.packages", "com.crealytics:spark-excel_2.12:0.13.7,org.apache.hadoop:hadoop-aws:3.3.1") \.getOrCreate()# 配置S3访问(根据实际环境配置)spark.sparkContext._jsc.hadoopConfiguration().set("fs.s3a.access.key", "YOUR_ACCESS_KEY")spark.sparkContext._jsc.hadoopConfiguration().set("fs.s3a.secret.key", "YOUR_SECRET_KEY")spark.sparkContext._jsc.hadoopConfiguration().set("fs.s3a.endpoint", "s3.amazonaws.com")config = load_config(config_path)for template in config['templates']:label = template['label']sql_template = template['sql_template']parameters_list = template['parameters']for params in parameters_list:# 验证参数数量是否匹配placeholders = sql_template.count('{')if len(params) != placeholders:raise ValueError(f"参数数量不匹配,模板需要{placeholders}个参数,但当前参数为{len(params)}个")# 替换SQL中的占位符formatted_sql = sql_template.format(*params)df = spark.sql(formatted_sql)# 生成文件名参数部分param_str = "_".join(params)base_filename = f"{label}_{param_str}"# 定义输出路径output_paths = {'parquet': f"{base_s3_path}/parquet/{base_filename}",'csv': f"{base_s3_path}/csv/{base_filename}",'excel': f"{base_s3_path}/excel/{base_filename}.xlsx"}# 写入Parquetdf.write.mode('overwrite').parquet(output_paths['parquet'])# 写入CSV(自动生成header)df.write.mode('overwrite') \.option("header", "true") \.csv(output_paths['csv'])# 写入Excel(使用spark-excel包)df.write.format("com.crealytics.spark.excel") \.option("header", "true") \.option("inferSchema", "true") \.mode("overwrite") \.save(output_paths['excel'])spark.stop()if __name__ == "__main__":import argparseparser = argparse.ArgumentParser()parser.add_argument('--config', type=str, required=True, help='Path to config JSON file')parser.add_argument('--s3-path', type=str, required=True, help='Base S3 path (e.g., s3a://your-bucket/data)')args = parser.parse_args()main(args.config, args.s3_path)

配置文件示例(config.json)

{"templates": [{"label": "sales_report","sql_template": "SELECT * FROM sales WHERE date = '{0}' AND region = '{1}'","parameters": [["202301", "north"],["202302", "south"]]},{"label": "user_activity","sql_template": "SELECT user_id, COUNT(*) AS cnt FROM activity WHERE day = '{0}' GROUP BY user_id","parameters": [["2023-01-01"],["2023-01-02"]]}]
}

使用说明

  1. 依赖管理

    • 确保Spark集群已安装Hadoop AWS和Spark Excel依赖:
      spark-submit --packages com.crealytics:spark-excel_2.12:0.13.7,org.apache.hadoop:hadoop-aws:3.3.1 your_script.py
      
  2. S3配置

    • 替换代码中的YOUR_ACCESS_KEYYOUR_SECRET_KEY为实际AWS凭证
    • 根据S3兼容存储调整endpoint(如使用MinIO需特殊配置)
  3. 执行命令

    spark-submit --packages com.crealytics:spark-excel_2.12:0.13.7,org.apache.hadoop:hadoop-aws:3.3.1 \
    data_export.py --config config.json --s3-path s3a://your-bucket/exports
    

输出结构

s3a://your-bucket/exports
├── parquet
│   ├── sales_report_202301_north
│   ├── sales_report_202302_south
│   └── user_activity_2023-01-01
├── csv
│   ├── sales_report_202301_north
│   ├── sales_report_202302_south
│   └── user_activity_2023-01-01
└── excel├── sales_report_202301_north.xlsx├── sales_report_202302_south.xlsx└── user_activity_2023-01-01.xlsx
http://www.tj-hxxt.cn/news/100803.html

相关文章:

  • 网站内页权重怎么查济南seo优化公司助力排名
  • 福州网站设计哪里建站网络平台
  • golang网站开发教程广东网络seo推广公司
  • 小学网站logo怎么做营销型网站建设题库
  • 网站客服系统免费版官网app开发公司有哪些
  • 网站建设解决方案好处搜外seo视频 网络营销免费视频课程
  • 最近中文字幕2018免费版2019搜索优化整站优化
  • 百度网站建设的十一个石家庄百度seo代理
  • 金华seo扣费优化网络推广外包
  • 十大免费自媒体素材网站百度一下浏览器
  • 网站制作宣传网络营销的主要传播渠道
  • 国外网站推广宣传搜索引擎优化与推广技术
  • 用dw怎么做登录页面的网站苏州优化seo
  • wordpress没法做大网站全媒体广告策划营销
  • 网站建设大客户沟通技巧直播回放老卡怎么回事
  • 淘客类网站如何做排名自媒体人15种赚钱方法
  • 做网站公司的介绍长沙网站设计
  • 洛阳市网站建设新闻媒体发布平台
  • 网站根目录验证文件是什么怎么自己注册网站
  • 中科建建设发展有限公司网站昆明做网站的公司
  • 枞阳做网站的推广联盟平台
  • 罗湖做网站联系电话网站公司网站建设
  • 独特的网站aso是什么意思
  • 安徽网站建站系统哪家好线上直播营销策划方案
  • 在线a视频网站一级a做片2022年小学生新闻摘抄十条
  • 中国电影家协会会员上海城市分站seo
  • 做地区招聘网站百度快速排名案例
  • 做网站怎么字体全部变粗了seo搜索排名
  • 博客园网站开发软文价格
  • 网站建设陆金手指谷哥7软件外包公司有前途吗