首页 > 其他分享 >寒假生活指导26

寒假生活指导26

时间:2024-02-03 18:24:33浏览次数:28  
标签:26 option format df 指导 寒假 mode sql pyspark

# coding:utf8  # 指定源代码编码格式为UTF-8

from pyspark.sql import SparkSession  # 导入SparkSession类,用于创建和管理Spark应用上下文
from pyspark.sql.functions import concat, expr, col  # 导入Spark SQL中的函数,这里并未使用但可能在后续操作中用于数据转换或计算
from pyspark.sql.types import StructType, StringType, IntegerType  # 导入数据类型,用于定义DataFrame的结构
from pyspark.sql import functions as F  # 更短的引用方式,指向pyspark.sql.functions模块

if __name__ == '__main__':
    # 创建一个本地SparkSession实例,设置应用程序名为"test",并配置shuffle分区数为2
    spark = SparkSession.builder.appName("test").master("local[*]").config("spark.sql.shuffle.partitions", 2).getOrCreate()

    # 从指定路径读取CSV文件,并将数据加载到DataFrame中,默认不包含列名头,以逗号作为分隔符
    df = spark.read.csv('../data/sql/stu.txt', sep=',', header=False)

    df.select(F.concat_ws("---","user_id","rank","ts")).\
        write.\
        mode("overwrite").\
        format("text").\
        save("../data/output/sql/text")

    df.write.mode("overwrite").\
        format("csv").\
        option("sep",",").\
        option("header",True).\
        save("../data/output/sql/csv")

    df.write.mode("overwrite").\
        format("json"). \
        save("../data/output/sql/json")
    #不写format默认为parquet
    df.write.mode("overwrite").\
        format("parquet"). \
        save("../data/output/sql/parquet")
#写入
    df.write.mode("overwrite").\
        format("jdbc").\
        option("url","jdbc:mysql://.200:3306/book?useSSL=false&useUnicode=true&allowPublicKeyRetrieval=true&serverTimezone=UTC").\
        option("dbtable","word_count").\
        option("user","root").\
        option("password","222222").\
        save()
#读取
    df=spark.read.format("jdbc").\
        option("url","jdbc:mysql://.200:3306/book?useSSL=false&useUnicode=true&allowPublicKeyRetrieval=true&serverTimezone=UTC").\
        option("dbtable","word_count").\
        option("user","root").\
        option("password","222222").\
        load()

sparksql的写入写出、

标签:26,option,format,df,指导,寒假,mode,sql,pyspark
From: https://www.cnblogs.com/syhxx/p/18005026

相关文章

  • 寒假训练1/31
    寒假训练2024/1/31今天主要是补题。codeforce161E-IncreasingSubsequences题意:T组询问,每次给你一个X($[2,10^{18}]$),你需要构造一个长度不超过200,值域$∈[−109,109]$的序列使得其单调上升子序列个数恰为X(包含空子序列且不同位置的相同上升子序列算作不同的上升子序......
  • 2024牛客寒假算法基础集训营1
    题目链接A.因为判断要素较少,直接条件模拟#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintN=2e5+10;voidsolve(){intn;cin>>n;strings;cin>>s;intD=0,F=0,S=0,d=0,f=0,ss=0;for(inti=0;i<s.size();i++){......
  • 寒假day2 2.3 ds
    讲师:杨宁远,NOI2022Au,rk20,from成都七中DSlistauto定义指针。*i访问元素。prev(i)next(i)访问前驱、后继的值。rbrgenrend含义相反。frontback放回头元素和尾元素。insert(iterator,value),会在迭代器前插入元素。erase(iterator),删除元素。a.swap(b):O(1)merge......
  • P2609 [ZJOI2012] 数列
    (题目传送门)实在是泰裤辣!直接推导??不存在的。最直接的想法是记忆化搜索,但是不想写高精……观察发现每个\(a_n\)都可以写成\(x\timesa_0+y\timesa_1\)的形式。你对单个\(a_i\)计算系数和记忆化搜索无异。观察条件,考虑一个二元组\((a_i,a_{i+1})\),发现可以转化成对\((a_......
  • 2.2寒假每日总结24
    使用的HBuilderX版本:3.98Git插件已安装:项目结构如下:右击项目目录,在git命令中-》检查已修改,可以发现还是能检索到修改过的文件:文件是有修改过的,但是在上图中没有任何的修改标识,这些文件也没有添加到.gitignore配置中。二、问题解决......
  • 寒假NOIP突破营笔记
    Day1枚举和搜索某些题的正解其实就是暴力,但加了一些优化三连击:暴力枚举即可DNA序列:\(O(nk)\)做法可以直接过;因为字符集大小只有\(4\),也可以使用哈希转为四进制统计\(O(n)\)栅栏:二分答案+搜索+剪枝k短路:A*:启发式搜索的一种,定义起点\(s\),终点\(t\),从起点(初始状态)开始的......
  • 2024.2.2寒假每日总结24
    算法题:1686.石子游戏VI-力扣(LeetCode)最最简单的超级马里奥训练过程fromnes_py.wrappersimportJoypadSpaceimportgym_super_mario_brosfromgym_super_mario_bros.actionsimportSIMPLE_MOVEMENTimporttimefrommatplotlibimportpyplotaspltfromstable_basel......
  • Poj3126 Prime Path (BFS+筛素数)
    #include<iostream>#include<queue>#include<cstring>constintN=10010;intt,aa,bb,prime[N],vis[N],step[N];usingnamespacestd;voidprime_(){//埃式筛法prime[0]=prime[1]=1;for(inti=2;i<10000;i++){if(prime[i])contin......
  • P5026 Lycanthropy
    原题链接这是一道差分套差分的题,我们先求出某点水位和其上一点水位的差值,很显然这个差值序列也符合差分。那么我们只需要一次差分再跑两遍前缀和即可。(如何差分要自己手动算出规律)。其次,由于要求的是每个人落水点的水位,而我们在跑前缀和的时候,下标可能为负,所以我们把水位宽度平......
  • 寒假生活指导25
    #coding:utf8#三种创建DataFramed的方法importpandasaspdfrompyspark.sqlimportSparkSessionfrompyspark.sql.typesimportStructType,StringType,IntegerTypeif__name__=='__main__':#spark=SparkSession.builder.appName("create_df").m......