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

spark local不启动hive支持,不持久化元数据,直接读取parquet文件

package job.modelimport org.apache.spark.sql.SparkSessionobject sparkLocalDatabase_2 {// 伴生对象:存放静态成员(相当于 Java 的 static)val baseSession: SparkSession = SparkSession.builder().master("local[8]")  // 使用 5 个 CPU 核心.appName("jobTask")// 1. 仓库目录(存放表数据):使用 Windows 绝对路径.config("spark.sql.warehouse.dir", "E:\\workpath\\sparkproject\\sparkLocalTask\\local_warehouse")// 2. 本地临时目录(存放计算临时文件):使用 Windows 路径(注意转义双反斜杠).config("spark.local.dir", "E:\\workpath\\sparkproject\\sparkLocalTask\\local_tmp")// 3. 内存设置.config("spark.driver.memory", "6g")// 4. 如果你不需要多 Job 并发调度,建议注释掉 FAIR.config("spark.scheduler.mode", "FAIR")// 5.关键配置:指定 Derby 元数据库的位置
//      .config("javax.jdo.option.ConnectionURL",
//        "jdbc:derby:E:\\workpath\\sparkproject\\sparkLocalTask\\spark_meta;create=true")
//      // 6。local模式不连接hive 的时候就不用启动hive支持
//      .enableHiveSupport().getOrCreate()def main(args: Array[String]): Unit = {val spark = this.baseSession.newSession()//    // 创建一个表
//    spark.sql(
//      """
//        CREATE TABLE IF NOT EXISTS user_log (
//            user_id BIGINT,
//            action STRING,
//            ts TIMESTAMP
//        ) USING PARQUET
//    """)
//
//    // 往表里插数据
//    spark.sql("INSERT INTO user_log VALUES (1001, 'login', current_timestamp())")/** // 1.如果 Spark 忘了表结构,执行这句spark.sql("""CREATE TABLE user_logUSING PARQUETOPTIONS (path 'E:\\workpath\\sparkproject\\sparkLocalTask\\local_warehouse\\user_log')""")* */// 2.直接读取 parquet 文件val df = spark.read.parquet("E:\\workpath\\sparkproject\\sparkLocalTask\\local_warehouse\\user_log")// 3.创建一个临时视图(只在当前 Session 有效,重启就没了)df.createOrReplaceTempView("user_log")spark.sql("select * from user_log").show()}}

  

http://www.jsqmd.com/news/824971/

相关文章:

  • 充电桩显示屏选型与单片机串口屏方案实战解析
  • AI人工智能未来发展趋势
  • RK3566工控板Wi-Fi模组性能实测:Wi-Fi 6与双频方案选型指南
  • 2026现阶段佛山铜挤压机实力厂商选择:聚焦核心能力与长期价值 - 2026年企业推荐榜
  • Next.js企业级UI系统启动器:集成设计系统与工程化最佳实践
  • METSO A413150输出模块
  • 程序员都要掌握的 Git 核心知识有哪些?
  • Hermes Agent自定义Provider接入Taotoken的详细配置步骤
  • Allegro铺铜避坑指南:从十字花焊盘到孤铜删除,新手必知的10个实用技巧
  • 别再只会./minio server了!手把手教你3种Minio后台启动与配置方法(含自定义账号密码)
  • 2026年5月七星区搬厂公司推荐榜:大型设备、精密仪器、整厂搬迁、仓储物流等类型厂家选择指南 - 海棠依旧大
  • CSS Grid布局如何实现项目重叠效果_利用z-index与grid-area实现
  • Games101 作业踩坑记(M1 Mac)
  • 3PEAK思瑞浦 TP2274-TS2R TSSOP14 精密运放
  • Python 网络IO优化:异步与连接管理
  • 2026年至今,广东不锈钢汤锅采购指南:聚焦品质与供应链 - 2026年企业推荐榜
  • 从Exynos到骁龙W5:Pixel Watch 2的芯片升级与UWB技术解析
  • PHP怎么实现IonCube加密_PHP IonCube编码器指南【指南】
  • 【STM32CubeMX实战】基于NRF24L01与HAL库构建稳定无线通信链路
  • ARM JTAG-DP调试端口架构与工程实践解析
  • RAG学习笔记:让大模型先查资料再回答问题
  • 面试鸭:高效智能的面试刷题神器,轻松备战求职面试
  • 终极指南:3分钟掌握Obsidian代码块美化技巧,让技术笔记瞬间升级
  • skimage新版SSIM/PSNR计算踩坑记:从win_size报错到data_range设置,手把手教你搞定图像质量评估
  • Kubernetes Pod安全标准:构建零信任的容器运行环境
  • 3步彻底解决电脑风扇噪音,FanControl实战指南让你的电脑安静如初
  • 使用TaotokenCLI工具一键配置多开发环境的方法
  • OrangePi串口实战:从pyserial配置到USB-TTL数据抓取
  • 威伦通HMI变址
  • CIDR.xyz:网络工程师必备的在线CIDR计算与API工具