08 2020 档案
摘要:一、概述 在实际应用中经常会碰到CSV文件带有表头的情况,Spark对CSV文件有响应的跳过表头的方法,Txt格式的文件没有响应的方法,需要加一个过滤器。 二、实现方法 如果第一条记录中只有一个标题行,那么过滤它的最有效方法是: rdd.mapPartitionsWithIndex { (idx,
阅读全文
摘要:一、概述 当CDH平台开启kerberos后,需要kdc服务验证通过和kerberos协议验证通过才可以。如果将spark程序部署在CDH 机器上,直接在生成keytab并使用principal登录kerberos即可。 如果当spark应用程序部署在第三方机器上时,还需要处理krb5.conf注册
阅读全文
摘要:一、概述 当集群开启了Kerberos后,Spark向hive中写入数据时,代码中会去读取yarn的配置文件,如果读不到yarn的配置文件,就会报这样的错误。如果用IDEA开发的ETL程序直接在CDH上面运行是没有这个问题的;但是当程序在第三方机器上运行时就会包这个错误。因为Spark客户端需要将y
阅读全文
摘要:一、概述 spark使用hive中有比较多的坑,尤其是版本问题引起的jar包冲突,比较好的方式是使用与CDH匹配的hive和hadoop版本,这样可以减少很多的jar冲突问题,但是在IDEA调试过程中还是难免会碰到jar包冲突问题。 二、CDH6.3.2中碰到问题解决方法 1、java.lang.N
阅读全文
摘要:一、概述 spark对离线数据进行ETL处理时,经常会碰到各式各样的分隔符,如果碰到的分隔符恰好有需要转义,就会引发一些错误,并且比较难以排查。比如我在项目中就碰到了客户的~|~作为分隔符的数据。因为需要在界面上输入,可把我坑惨了,花费了比较多的时间,在此记录一下。 二、问题解决 如果需要在在jso
阅读全文
摘要:一、概述 出现该问题的原因是因为 如果用命令行创建的hive表,会根据hive的hive.default.fileformat,这个配置来规定hive文件的格式,其中fileformat一般有4中,分别是TextFile、SequenceFile、RCFile、ORC。默认情况下,不指定的话,是Te
阅读全文
摘要:一 、概述 在spark访问CDH平台时,如果同时访问两个CDH平台,如果登录的CDH平台中没有kerberos信息,而插入信息的CDH平台开启了Kerberos信息,就会报错误 Server asks us to fall back to SIMPLE auth, but this client
阅读全文
摘要:一、概述 使用IDEA调试spark程序时,spark通过thriftserver访问hive的元数据信息,如果不设置spark的warehouse目录会报nameservice1异常;这是因为本地目录访问不到nameservice信息,需要将nameservices配置到spark中。 二、问题解
阅读全文
摘要:一、概述 kerberos是TDH和CDH平台常用的一种安全验证协议;在TDH中可以根据设置,直接登录到TDH安全协议模块下载keytab文件使用,但是在CDH平台中需要自己生成keytab文件。 二、CDH使用kerberos方式 1、进入到kerberos kadmin.local 2、查看ke
阅读全文
摘要:一、问题描述 最近碰到一个令人郁闷的问题,因为客户的CDH版本比较低,hive1.1.0版本,而我们现在使用的spark版本都比较近搞,这样就会造成,如果我使用hive1.1.0版本就会报错: java.lang.NoSuchFieldError: METASTORE_CLIENT_SOCKET_L
阅读全文