【E-MR】NameNode的错误恢复记录 虽然,阿里云的E-MR的网页端可以很方便的操作这些服务的实例。如果真的遇上问题了,在网页端没有能够解决问题的话。那么我们不妨登陆到这些实例节点上面,用我们所拥有的知识,手动处理这些问题。...
【Spark报错】CDH的spark无法读取字段中含有特殊字符“-“的orc表mismatched input ‘-‘ expecting ‘:‘ 背景故事先看报错信息:mismatched input ‘-’ expecting ‘:’报错的意思就是说,在这个表里面,字段名中存在特殊符号“-”,无法解析报错。这个问题会发生在CDH的spark中。如果不是CDH的spark版本的程序,可以跳过此文章。解决方案:不要使用CDH版本的spark就好了。比如我这里出现报错的时候,使用的版本是2.4.0-cdh6.1.1 那么把这个版本修改为2.4.0就好了。过程分析过程早就分析完了,下面写一篇结果:环境版本spark-sql_2.11
【Linux】Linux的命令行多并发脚本 【Linux】Linux的命令行多并发脚本背景有的时候我们需要在Linux服务器上,将程序放置在后台运行。避免以为客户端的连接中断导致前台的应用失败。所以我们的脚本执行可以在后面添加一个&,这样的话,程序就会在后台执行。如果我们有3个脚本程序的话都可以在执行的脚本最后添加一个&,这样的话,就会有3个脚本同时在后台执行了。那么,如果我们有100个这样的脚本程序呢?分析如果我们有100个脚本程序的话,这个时候需要考虑一下服务器是否能够同时跑100个脚本程序,如果有一个很牛逼的服务器的话,
【Oozie】CDH集群的oozie手把手快速入门 背景在今天中午,本人快乐的干饭的时候,领导打电话过来询问oozie是个什么样的东西,能不能有个用例?在本人的理解里面,oozie主要是个调度工具。所以本篇为CDH集群的oozie的快速入门教程环境准备CDH集群一套CDH集群中集成了oozie和hue因为oozie整合进hue中界面化了,不像那种命令行提交的方式,要写很多繁杂的xml文件,所以本文就开始揭露,如何快速入门oozie新建一个调度任务本文使用一个pyspark作为调度用例:pyspark的代码如下,文件名为:pyspark_
【Spark案例】本地访问cdh集群不将配置文件放入resource目录方式 【Spark案例】本地访问cdh集群不将配置文件放入resource目录方式背景故事今天我领导,他想用pyspark连接集群中的hive,作数据分析用。于是这变成了一个在本地集群中如何访问远程集群的问题。在python环境中使用pyspark构建sparkSession的过程当中,config参数选项里面配置了一个hive.metastore.uris的时候,sparkSession能够访问hive的数据库,及表信息。但是读取数据的时候会发生报错。问题分析在java中如果是maven构建的jav
【Java】利用反射获取泛型类的名称 【Java】利用反射获取泛型类的名称背景在阅读Flink源码的TypeInfomation类的时候,研究这个类是如何获取数据的类型名称的过程中,学习到了如何获取泛型名称的方法。在此记录一下:有如下场景:父类:public abstract class Parent<T> { public Parent(){ }}子类public class Son<String> extends Parent<T> { public Son(){
java对于抽象类的getClass()方法 java对于抽象类的getClass()方法背景:在阅读flink1.14的源代码的时候,有一段代码的getClass()方法输出的结果很让我意外。在此记录一下,代表我经历过首先定义一个抽象类,在这个无参的构造函数中调用了一个getClass().getName()的方法获取当前的类名public abstract class Parent { public Parent(){ System.out.println(getClass().getName()); }}
【Spark】SparkJdbc并发读取的partitionColumn规则 【Spark】SparkJdbc并发读取的partitionColumn规则参考: spark 官方文档使用spark的jdbc的方式读取数据的操作:方式1:spark.read.option(...).jdbc(url,table,properties)方式2:spark.fomat('jdbc').option(...).load()可以注意到,在spark通过jdbc读取数据时候是有一个option的选项的。本次主要讨论spark jdbc的多连接读取参数:partitionC
spark sql截断小数做非四舍五入操作 spark sql截断小数做非四舍五入操作在开发过程当中,会遇到这样的一种情况。保留四位小数。比如这个图中,spark sql可以做到保留四位小数,但是这四位小数中的第五位是以四舍五入的方式进行进位的。最近遇到了一个业务场景,需要保留四位小数,但是第五位无论是多少都要进行舍弃,那么我们可以这样去做:* 现将这个数字扩大10000倍,然后在将这个数字进行向下取整数操作,然后将这个数除以10000。最后再转换为decimal(6,4) 保留四位精度小数。如上图所示:已经成功将temp转换为我们需要
Spark Sql读取字符串json数组 Spark Sql读取字符串数组开门见山样例数据:造数sql:df:SELECT "[{'id':1,'name':'abc'},{'id':1,'name':'abc'}]" AS js+---------------------------------------------+|js |+---------------------------------------------+|[{'id':1,'
2021-10-22 pyspark读取kudu表 pyspark 读取kudu表背景:有一个pyspark程序需要读取kudu表的数据。数据存储在kudu中,使用impala的话也不好读取kudu表中的数据—有一个kerberos认证的过程,阻碍了数据的读取。另外当前版本的hive是没有做针对kudu相关的配置。所以也无法使用hive去读取kudu表的数据。解决办法参考: kudu的官方文档针对spark读取kudu的方式:引入kudu-spark2_2.11,jarscala 可以通过maven的pom配置映入这个依赖包pyspark可