- 博客(29)
- 资源 (5)
- 收藏
- 关注
原创 2020-12-16
spark-sql 读取hive报出Caused by: java.lang.NullPointerException**20/12/16 14:37:27 ERROR SparkSQLDriver: Failed in [select student_id from tmp.tmp_user_device_log_info_temp where dt = '2020-10-02' limit 10]java.lang.RuntimeException: serious problem** at or
2020-12-16 14:59:01
435
原创 java判断时间格式是否为指定格式,时间是否正确
/** * * @param strDate 时间 * @param formatter new SimpleDateFormat("yyyy-MM-dd"),new SimpleDateFormat("yyyy-MM-dd yyyy-MM-dd HH:mm:ss") * @param legalLen 10 , 19 * @return */ private static boolean isDate(String strDate,Da.
2020-09-14 12:06:33
1398
原创 linux ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES) 安装mysql
一般这个错误是由密码错误引起,解决的办法自然就是重置密码。我使用的是root账户。1.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:#vi/etc/my.cnf在[mysqld]后面第一行添加“skip-grant-tables”用来跳过密码验证的过程保存文档并退出:#:wq2.接下来我们需要重启MySQL:/etc/init.d/mysql restart(有些用户可能需要使用/etc/init.d/mysqld restart)3.重启之后...
2020-07-25 23:20:40
399
原创 hdfs常用命令:一
文件操作(1) 列出HDFS下的文件hdfs dfs -ls /(2) 列出HDFS文件下名为users的文档中的文件hdfs dfs -ls /users(3) 上传文件将hadoop目录下的test01文件上传到HDFS上并重命名为test02:hdfs dfs -put test01 /test02(4) 文件被复制到本地系统中将HDFS中的tes...
2018-08-21 16:11:25
436
原创 spark读取postgresql中的数据
spark读取postgresql中的数据: 代码实现val pgUrl = "jdbc:postgresql://ip:5433/databaseName"// 读取pg中的数据val df1 = hiveContext.read.format("jdbc") .option("url", pgUrl) .option("user", "user") .opti...
2018-08-17 12:18:45
3327
原创 spark将数据加载到postgresql中的Scala实现
spark将数据加载到postgresql中: 方法一:def save2Postgresql(jdbcDf: DataFrame, url: String, tableName: String) = { jdbcDf.insertIntoJDBC(url, tableName, false) }方法二:def save2Postgresql(jdbcDf: Da...
2018-08-17 12:12:29
1978
原创 Scala实现--获取两个日期至今的所有日期包括开始日期和结束日期
获取两个日期至今的所有日期包括开始日期和结束日期: /** * 获取两个日期之间的日期 * @param start 开始日期 * @param end 结束日期 * @return 日期集合 */ def getBetweenDates(start: String, end: String) = { val startData = new Simpl...
2018-08-17 11:47:08
4859
转载 Hive修改表语句
1.ALTER TABLE table_name RENAME TO new_table_name; 上面这个命令可以重命名表,数据所在的位置和分区都没有改变。2:改变列名/类型/位置/注释1.ALTER TABLE table_name CHANGE[CLOUMN] col_old_name col_new_name column_type[CONMMENT col_conmment]...
2018-08-09 15:42:52
2077
原创 Hive中关于日期函数使用
1.时间戳函数 日期转时间戳:从1970-01-01 00:00:00 UTC到指定时间的秒数 获得当前时区的UNIX时间戳: select unix_timestamp(); 1533716607将指定的时间转为UNIX时间戳 :select unix_timestamp('2018-08-08 16:22:01'); 1533716521将指定的时间转为UNIX时间戳: sele...
2018-08-08 16:43:41
5412
转载 Hadoop Yarn 的三种资源调度器详解
理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源。在Yarn中,负责给应用分配资源的就是Scheduler。其实调度本身就是一个难题,很难找到一个完美的策略可以解决所有的应用场景。为此,Yarn提供了多种调度器和可配置的策略供我们选择。 一、调度器的选择在Yarn中有三种调...
2018-08-08 16:19:23
8359
转载 hive函数大全
hive的内置方法很多,特被容易忘,记录在次方便使用。 1.内置运算符 1.1关系运算符 运算符 类型 说明 A = B 所有原始类型 如果A与B相等,返回TRUE,否则返回FALSE 。 A <> B 所有原始类型 如果A不等于B返回TRUE,否则返回FALSE。如果A或B值为”NULL”,结果返回”NULL”。 A != B 所有原始类型 如果A不等于B返回TRU...
2018-08-02 11:18:50
550
原创 hive 和spark sql 中日期相关使用技巧(一)
hive 和spark sql 中日期相关使用技巧 常用日期/时间相关字段、类型、及示例:类型包括:BIGINT,TIMESTAMP和STRING 下面是这几种类型之间相互转换的方法:BIGINT转TIMESTAMP:from_unixtime(time/1000) TIMESTAMP转BIGINT:unix_timestamp(time)*1000 BIGINT转STRING(y...
2018-07-30 13:11:17
3034
转载 net.sf.json的jar包:JSONArray问题解决
今天在使用经纬度通过al的接口获取详细地址时使用到了 net.sf.json的jar包:JSONArray 用maven添加net.sf.json的jar包的时候,代码如下: &lt;dependency&gt; &lt;groupId&gt;net.sf.json-lib&lt;/groupId&gt; &lt;artifactId&gt;jso
2018-07-30 12:37:00
8143
转载 java设计模式之单例模式
常见的几种单例模式 单例模式:是一种常用的软件设计模式,在它的核心结构中值包含一个被称为单例的特殊类。一个类只有一个实例,即一个类只有一个对象实例。 单例模式可以分为懒汉式和饿汉式: 懒汉式单例模式:在类加载时不初始化。 饿汉式单例模式:在类加载时就完成了初始化,所以类加载比较慢,但获取对象的速度快。 第一种(懒汉,线程不安全):public...
2018-07-27 13:59:33
150
原创 Hive动态分区需要注意的参数
使用Hive动态分区需要注意设定以下参数:1.是否开启动态分区功能,默认false关闭。 默认值:falsehive.exec.dynamic.partition =false使用动态分区时候,该参数必须设置成true;hive.exec.dynamic.partition =true2.动态分区的模式: 默认值:stricthive.exec.dynamic.part...
2018-07-05 16:56:17
1792
原创 hive表的建表语句批量获取
有时hive中的一个数据库中有大量的表,对表的建表语句备份就显得重要和麻烦了,但是是使用hive的命令和shell脚本会很容易实现1.导出所有表的名称(可以指定数据库名称)hive -e "use dbName;show tables;" &gt; tablesName.txt2.使用hive内置语法导出hive表的建表语句,这里使用的是一个shell#!/bin/bash ...
2018-07-05 15:44:47
4322
原创 Hive计算引擎的切换方法
1、配置mapreduce计算引擎set hive.execution.engine=mr;2、配置spark计算引擎set hive.execution.engine=spark;3、配置tez 计算引擎set hive.execution.engine=tez;
2018-07-05 15:28:16
15564
原创 Hive外部表误删后的恢复
Hive中的外部表是比较安全的一种数据管理方式,有时也会误删使用外部表有一个很好的好处,如果不小心将表误删了,只需要重新创建外部表然后使用下面的语句修复分区即可。MSCK REPAIR TABLE table_name;...
2018-03-01 15:56:55
4076
转载 自动化监控spark进程并重启
自动化监控spark进程并重启,实际生产中可能会出现服务进程挂掉的异常,自动监控与重启是非常重要。1、监控主节点的shell脚本[plain] view plain copy#!/bin/bash # master=`ps -ef | grep Master | grep spark | awk '{print $2}
2018-03-01 11:26:26
1339
原创 001:spark-submit提交参数之num-executors,num-executors,executor-cores
1.num-executors参数说明:该参数用于设置Spark作业总共要用多少个Executor进程来执行。Driver在向YARN集群管理器申请资源时,YARN集群管理器会尽可能按照你的设置来在集群的各个工作节点上,启动相应数量的Executor进程。这个参数非常之重要,如果不设置的话,默认只会给你启动少量的Executor进程,此时你的Spark作业的运行速度是非常慢的。参数调优
2018-01-04 10:16:17
16059
2
翻译 更新HIve表的简单方法2
这是系列的第二部分。管理缓慢变化的维度在第1部分中,我们展示了使用SQL MERGE,UPDATE和DELETE更新Hive中的数据是多么容易。让我们把事情做好,看看Hive中用于管理缓慢变化维度(SCD)的策略,这些维度可以让您随时分析数据的整个变化。在数据仓库中,缓慢变化的维度(SCD)捕获的数据在不规则和不可预知的时间间隔内变化。根据不同的业务需求,管理SCD
2017-12-16 17:07:47
9738
翻译 更新HIVE表格的简单方法
第一部分,用于如何更容易地更新Hive表从历史上看,在Apache Hive中保持数据最新,需要定制应用程序开发,这是复杂的,非高性能的,难以维护的。HDP 2.6通过在Hive中引入SQL MERGE从根本上简化了数据维护,补充了现有的INSERT,UPDATE和DELETE功能。这个博客展示了如何解决常见的数据管理问题,包括:Hive插件,将Hive数据与源RD
2017-12-16 15:37:51
5455
1
原创 spark sql 中的细节,判断字段是否为null
开始用的 是'字段'=null'字段'!=null执行后的的数据表中没有数据后改为'字段' is null'字段' is not null执行的结果正确自己真是记性差.........
2017-12-13 10:34:50
20670
2
转载 Hive四种数据导入方式
Hive的几种常见的数据导入方式这里介绍四种:(1)、从本地文件系统中导入数据到Hive表;(2)、从HDFS上导入数据到Hive表;(3)、从别的表中查询出相应的数据并导入到Hive表中;(4)、在创建表的时候通过从别的表中查询出相应的记录并插入到所创建的表中。一、从本地文件系统中导入数据到Hive表先在Hive里面创建好表,如下:
2017-12-11 15:18:18
323
原创 sparksql减少输出数据中的小文件数量
由于项目中开发用到sparksql ,将一个大表的数据查询后插入到另一种表中,此时数据令也不是太大,但是产生了200多个小文件,占用namenode资源,为了改善该情况使用,将hive中的表加载为一个df,然后重新分区+缓存+注册为临时表,在进行查询,插入操作,此时文件为20个关键代码如下:...........val aDF =hiveContext.
2017-11-30 14:19:53
8980
原创 CentOs7修改主机名
在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(pretty)。“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。而另一方面,
2017-11-30 14:10:18
512
原创 spark读取hdfs上的bson包,并解析
公司的数据是bson的格式的,需要用到spark的dataF,代码如下:val mongoConfig =new Configuration() //输入数据的格式路径 mongoConfig.set("mongo.job.input.format","com.mongodb.hadoop.BSONFileInputFormat");
2017-11-29 11:38:24
1122
1
原创 org.apache.spark.shuffle.MetadataFetchFailedException:Missing an output location for shuffle 5
org.apache.spark.shuffle.MetadataFetchFailedException:Missing an output location for shuffle 5解决方案:excouters分配的内存不足,分配更多内存后解决问题
2017-11-29 11:32:37
7855
2
翻译 Spark 重分区coalesce和repartition,合并小文件
源码包路径: org.apache.spark.rdd.RDDcoalesce函数:方法注释:Return a new RDDthat is reduced into numPartitions partitions. This results in a narrowdependency, e.g. if
2017-11-29 11:25:40
6473
x-pack-sql-jdbc.rar
2020-09-01
scala-2.12.11.tgz
2020-06-08
docker-compose-Linux-x86_64
2018-11-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人