前言
因添加列在平时可能会经常用到,但是长时间不用,可能会忘记应该用哪个函数,这样再重新查找比较耽误时间,于是总结代码进行备忘。主要总结:
- 根据现有的列添加
- 添加自增ID
- 添加一列常量
- 添加当前时间
- 转换为timestamp类型
- 转换为date类型
因添加列在平时可能会经常用到,但是长时间不用,可能会忘记应该用哪个函数,这样再重新查找比较耽误时间,于是总结代码进行备忘。主要总结:
本文讲解如何通过数据库客户端界面工具DBeaver连接远程Kerberos环境下的Hive。
因为在远程服务器上的命令行里写SQL查询Hive表,如果数据量和表字段比较多,命令行界面不利于分析表数据,所以需要客户端工具如DBeave远程连接Hive查询数据,但是DBeaver默认的不能访问Kerberos下的Hive,需要一些配置才可以访问,这里记录一下。
关于DBeaver如何连接正常的不带Kerberos认证的Hive,请参考通过数据库客户端界面工具DBeaver连接Hive,本文只讲解如何在Windows上用DBeaver对kerberos认证
官网下载https://web.mit.edu/kerberos/dist/index.html,我下载的是这个:Kerberos for Windows Release 4.1 - current release
下载下来后,一键安装
我的kerberos客户端安装目录为D:\program\company\kerberos,将集群上的/etc/krb5.conf,复制到此目录下,改名为krb5.ini,内容如下:
more >>
因为公司的测试环境带有kerberos,而我经常需要本地连接测试集群上的hive,以进行源码调试。而本地认证远程集群的kerberos,并访问hive,和在服务器上提交Spark程序代码有些不同,所以专门研究了一下
并进行总结。
在服务器上提交Spark程序认证kerberos比较简单,有两种方法:
本地连接,稍微复杂点,首先要配好环境,比如Hadoop的环境变量、winutils等,然后需要配置hosts,将服务器上的/etc/hosts里面的内容拷贝出来,粘贴Windows上的hosts文件里即可
首先需要将集群上的hive-site.xml,core-site.xml,yarn-site.xml,hdfs-site.xml拷贝到src/main/resources文件夹中,其中hive-site.xml是为了连接hive,core-site.xml、hdfs-site.xml和yarn-site.xml是为了认证kerberos
more >>总结Java如何连接Kerberos认证下的Spark Thrift Server/Hive Server总结
关于如何启动 Spark Thrift Server和 Hive Server 请参考https://dongkelun.com/2021/02/19/javaSparkThriftServer/
1 | <dependencies> |
关于依赖版本对应同样请参考https://dongkelun.com/2021/02/19/javaSparkThriftServer/
more >>本文记录Spark如何在表存在的情况时覆盖写入mysql但不修改已有的表结构,并进行主要的源码跟踪以了解其实现原理。主要场景为先用建表语句建好mysql表,然后用spark导入数据,可能会存在多次全表覆写导入的情况。
已上传github
主要的参数为.option(“truncate”, true),可以参考Spark官网http://spark.apache.org/docs/latest/sql-data-sources-jdbc.html
主要代码逻辑为,读取csv,进行日期转化,然后覆盖写入到已经建好的mysql表中。
1 | package com.dkl.blog.spark.mysql |
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true