python - 如何在 pyspark SQL 中应用日期格式
问题描述
我们从 pyspark sql 查询下面得到下面的数据
脚本::
from pyspark.sql import SparkSession
spark = SparkSession.builder.master('yarn').appName('myAppName').getOrCreate()
df = spark.read.parquet('gs://data/test')
df.createOrReplaceTempView("people")
df2=spark.sql("""select id,concat(year(dates) ,'_',month(dates)) as date,
count(1) count
from people
group by id, month(dates),year(dates)
预期输出为
比如 2019_jan, 2019_feb, 2019_oct,.... 2019_Dec 请帮我了解 pyspark sql 中的日期格式语法
解决方案
您可以尝试如下
spark.sql("select date_format(current_date(),'MMM') as month from data")
您的完整查询应该是这样的
from pyspark.sql.functions import *
df2=spark.sql("""select id,concat(year(dates) ,'_',date_format(dates,'MMM')) as date,
count(1) count from people group by id, date_format(dates,'MMM'),year(dates)
推荐阅读
- sql - 使用 CASE 表达式时如何解决此查询中的错误?
- delphi - Delphi 10.3(32 位)社区版访问 PostgreSQL 11,使用 FireDac 驱动程序的 64 位版
- android - 运行我的 Flutter 项目时,我的 Flutter 项目中出现 AndroidX 不兼容问题
- react-native - 与 Expo 项目在 React 中广播
- python - 如何使用 python 2.7 完成基本身份验证?
- php - Yii2,为什么当该属性由行为分配时,由于缺少强制属性而导致模型验证失败?
- c# - 实体框架在加载时抛出异常
- javascript - 如何通过 Gmail API 和 Google Apps 脚本请求和发送付款
- java - 从 Spring Boot 开始持续使用 REST Web 服务
- typescript - TypeScript类型检查问题,一个字符串被压入一个数字数组