首页 > 其他分享 >spark离线分析--本地Spark1.6版本读写hive表

spark离线分析--本地Spark1.6版本读写hive表

时间:2023-11-28 21:25:56浏览次数:45  
标签:Spark1.6 ctime -- 离线 hive result sql new javaSparkContext

1. 搭建好hive环境,并将hive-site.xml文件放到本地工程的resources目录下

2. java测试代码

  

public class SparkHiveTest{

     public static void main(String[] args){
  
 JavaSparkContext javaSparkContext  = null;
try {
      SparkContext sparkConf =new 
      SparkConf().setAppName("SparkHiveTest").setMaster("local[*]");

    javaSparkContext   = new JavaSparkContext(sparkConf );
     HiveContext hiveContext = new HiveContext(javaSparkContext )
     //查询attack_count表数据,表结构 content ,ctime, content是json字符串,ctime是分区格式,yyyyMMdd
     string sql ="select * from test.attack_count order by ctime desc"
     DataFrame result = hiveContext .sql(sql);

     List<Row> collectAsList = result.coalesec(10).collectAsList();

     result.registerTempTable("AttackCount");
     String curDate = DateUtil.toString(new Date(), "yyyyMMdd");
     hiveContext.sql("insert into table test.attack_count partition(ctime='"+curDate+"') select content from AttackCount limit 1");
      
       }catch(Exception e){
     }finally{
     if(javaSparkContext!=null) {
      javaSparkContext.stop();
     }
  }
}

 

标签:Spark1.6,ctime,--,离线,hive,result,sql,new,javaSparkContext
From: https://www.cnblogs.com/xsg0011/p/17863086.html

相关文章

  • 关键字 开发-06 封装yaml文件直接生成测试用例
    前言前面几个章节,我们主要是如何通过yaml文件的数据自动转换成测试用例,并按照关键字去执行,如下是之前我们通过参数化的形式手动执行用例。fromutils.runimportRunByKey#获取文件路径file_path=Path(__file__).parent.joinpath('data','login.yml')@pytest.mark.para......
  • 第2章 文件管理
    1.文件目录和路径 绝对路径:从根目录开始的完整路径 相对路径:相对于当前工作目录的路径  2.根目录的常见目录:/bin:bin是Binary的缩写,这个目录存放着最经常使用的命令。/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev:dev是D......
  • 【Azure Key Vault】使用Azure CLI获取Key Vault 机密遇见问题后使用curl命令来获取机
    问题描述在使用AzureKeyVault的过程中,遇见无法获取机密信息,在不方便直接写代码的情况下,快速使用AzureCLI指令来验证当前使用的认证是否可以获取到正确的机密值。使用CLI的指令为:第一步:设置azure的云环境参数,指定为中国区云服务azcloudset--nameAzureChinaCloud第二步......
  • html2canvas截图
    注意:1、supervision_box获取的Dom节点一定不能使用overflow:auto,否则滚动的内容将无法截图(overflow:auto放在父级上面滚动)2、height:2800一定要大于Dom的高度否则也截图不完整constdownImg=()=>{constbox=document.querySelector('.supervision_box')html2......
  • 每日博客
    实验21:观察者模式packageobserver_pattern; publicinterfaceGuancha{    publicvoidsheng();    publicvoidjiang();}packageobserver_pattern; publicclassGuminimplementsGuancha{    privateStringname;    publicGumin(String......
  • Linux:RPM包管理
    一 、RPM包管理1、软件包管理介绍1.1、软件包分类源码包(就是直接的代码)a.脚本安装包(多了个安装界面,但是方便)二进制包(就是源码经过编译后的文件)(别名RPM包或系统默认包)1.2、源码包优点•开源,可以直接修改源代码•自由选择所需功能•编译安装,更加稳定效率也搞•卸载方便(直接......
  • scrapy 框架的安装及流程-01
    一、简介 scrapy的优势:1、为了更利于我们将精力集中在请求与解析上2、企业级的要求,效率高 二、模块安装scrapy支持Python2.7和python3.4以上版本1.在https://www.lfd.uci.edu/~gohlke/pythonlibs/下载对应的Twisted的版本文件 2.在命令行进入到Twisted的目......
  • IF语句及代码风格
    Chap4条件IF语句IF语句的流程eg:deff(x): print("A",end="") ifx==0: print("B",end="") print("C",end="") #x不等于0时,这两行代码不会执行 print("D")f(1)ADf(0)ABCD实现一个函数,返回输入数字的绝对值p......
  • python基础之基本运算符
    参考网站​ 参考网站(菜鸟教程):https://www.runoob.com/python/python-operators.html算术运算符以下假设变量a=10,变量b=21:运算符描述实例+加-两个对象相加a+b输出结果31-减-得到负数或是一个数减去另一个数a-b输出结果-11*乘-两个数相乘......
  • c++ deque容器
    一、deque介绍deque(双端队列)是一种索引容器,它包含在#include<deque>头文件中。它与普通的queue队列不同的是,deque可以实现在尾部插入和删除元素。随机的访问双端队列中的元素,时间复杂度为O(1)在首部或者尾部插入或删除元素,时间复杂度O(1)插入和删除元素,是线性的,时间复杂度为O......