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

用电脑做服务器搭建php网站千锋教育和达内哪个好

用电脑做服务器搭建php网站,千锋教育和达内哪个好,开发网站开源免费,学生个人网页制作 模板零、前言 Python中直接跑SQL,可以很好的解决数据导过来导过去的问题,本文方法主要针对大运算量时,如何更好地让Python和SQL打好配合。 工具:Zeppelin 语法:PySpark(Apache Spark的Python API)…

零、前言

Python中直接跑SQL,可以很好的解决数据导过来导过去的问题,本文方法主要针对大运算量时,如何更好地让Python和SQL打好配合。

工具:Zeppelin
语法:PySpark(Apache Spark的Python API)、SparkSQL
数据库类型:Hive

一、相关方法

  • .createOrReplaceTempView()
    在PySpark中,createOrReplaceTempView是一个用于DataFrame的方法,它允许你将DataFrame的内容注册为一个临时的SQL视图,这样就可以在Spark SQL查询中引用这个视图,就像正常查询常规数仓表一样。
  • .toPandas()
    最终取数结果,以DataFrame形式输出。

二、实例

Zeppelin中编辑器与Jupyter Notebook类似,以代码块形式呈现,只是需要提前指定好代码块的语言,如:%pyspark
日常工作中,库存数据是常见的大数据量取数场景,下述代码以取 sku每天的库存 为例展开。

%pyspark
# 工具包及基础配置(视具体情况进行配置,非本文重点,可略过)
import pandas as pd
from pyspark import SparkConf
from pyspark import SparkContext
from pyspark.sql.types import *
from pyspark.sql import SparkSession
from pyspark.sql import SQLContextspark_conf = SparkConf()
spark_conf.setMaster("local[*]")
spark_conf.setAppName("Test")
spark_conf.set("zeppelin.spark.sql.stacktrace", "true")
spark_conf.set('hive.exec.dynamic.partition.mode', 'nonstrict')
spark_conf.set("spark.sql.execution.arrow.enabled", "true")
spark_conf.set("spark.sql.execution.arrow.fallback.enabled", "true")
spark = SparkSession.builder.config(conf=spark_conf).config("zeppelin.spark.sql.stacktrace", "true").enableHiveSupport().getOrCreate()
%pyspark
# 配置取数参数(省事小技巧,避免重复编码,根据实际情况可配置多个参数)
## 开始、结束日期、品牌、……
start_date = '2024-01-01'
end_date = '2024-01-31'
brand = 'brand01'# sql1:日期维表
tmp_dim_date = '''select date_stringfrom edw.dim_datewhere 1=1and date_string >= '{start_date}'and date_string <= '{end_date}''''.format(start_date=start_date, end_date=end_date)
tmp_dim_date = spark.sql(tmp_dim_date).createOrReplaceTempView('tmp_dim_date') # 创建日期临时表:tmp_dim_date# sql2:商品维表
tmp_dim_sku = '''select brand_name,sku_skfrom edw.dim_skuwhere 1=1and brand_name = '{brand}'group by 1, 2'''.format(brand=brand)
tmp_dim_sku = spark.sql(tmp_dim_sku).createOrReplaceTempView('tmp_dim_sku') # 创建sku临时表:tmp_dim_sku# 最终sql:sku每天的库存
sku_stock = '''select tb0.date_string,tb1.sku_sk,sum(coalesce(tb1.stock_qty, 0)) stock_qty -- 库存量from tmp_dim_date tb0 -- 日期临时表left join edw.stock_zipper tb1 -- 库存拉链表on tb1.date_begin <= tb0.date_string -- 开链时间and tb1.date_end > tb0.date_string -- 闭链时间inner join tmp_dim_sku tb2 -- sku临时表on tb1.sku_sk = tb2.sku_skgroup by 1, 2'''
df_sku_stock = spark.sql(tmp_stock_zipper).toPandas()# 删除临时视图(在不需要时及时做垃圾回收,减少资源占用)
spark.catalog.dropTempView("tmp_dim_stockorg")
spark.catalog.dropTempView("tmp_dim_sku")

至此,sku天维度库存数据已取出,实际应用常见可能比本案例复杂许多,故临时表的方法才更重要,一方面能理清楚取数代码的结构,一方面也提高代码性能。

三、总结

NULL

[手动狗头]

本文简短,也没总结的必要,那便在此祝各位新年快乐吧(bushi

http://www.yidumall.com/news/3615.html

相关文章:

  • 帮别人起名 做ppt的网站成都网站seo诊断
  • laravel 做中英文网站网站搭建工具
  • 化妆品网站建设可行性分析seo就业前景如何
  • 网红营销优势汕头seo收费
  • 家居企业网站建设公司成人职业培训学校
  • wordpress wpincseo查询 工具
  • 小程序免费制作平台教学汕头seo关键词排名
  • 网购网站系统佛山网站定制
  • 岳阳网站开发网站运营网络营销和网上销售的区别
  • 网站建好了怎么做才赚钱汕头网页搜索排名提升
  • 网站联合推广方案推广途径有哪些
  • 大气网站首页欣赏百度信息流怎么收费
  • 企业网站的seo厦门网络推广公司
  • 怎么自己在家做网站济南最新消息
  • 一个ip地址上可以做几个网站链接
  • 武汉网站建设公司网络营销八大职能
  • 个人做 网站2019永久免费跨境浏览app
  • 建网站的公司叫什么网络推广一般怎么收费
  • 深圳网站建设工资买外链网站
  • 北京造价员变更在哪个网站做网站建设优化400报价
  • 郑州金水区网站建设淘宝seo优化是什么意思
  • 网站优化排名软件营销方式有哪几种
  • 企业固定ip做网站大兴今日头条新闻
  • 网站建设金搜索引擎关键词排名优化
  • html5 制作手机网站seo工具查询
  • 做网站的赢利点青岛seo用户体验
  • 分销网站开发合同中小企业网站制作
  • 宜州做网站需要多少钱1688自然排名怎么做好
  • 怎样做可以连接服务器的网站营销推广案例
  • 免费做图片链接网站windows优化大师可靠吗