项目笔记

1.SPARK-SQL 执行几个集市表的ETL报错,出错为空指针异常,推断的表中数据内容有问题,同事重新生成一HIVE表后导入数据,问题消除,未找到根本原因

2.SQOOP提交时按队列

sqoop -D mapred.job.queue.name=queuename

SQOOP通过METASTORE是支持直接把ORC表导出到ORACLE的,但太大会有问题,是一个BUG

3.通过队列进行资源管理,可以默认让HIVE作业指向一个队列,让SPARK指向一个队列

4.HIVE的DATE不包含时分秒,而RDBMS中是包含时分秒的,这点需要特别注意,如果HIVE表中DATE类型的使用

SELECT * FROM TABLENAME WHERE DATE_SUB(CURRENT_DATE,30)<DT

查找最近一个月的数据,如果这里的DT类型是TIMESTAMP,那么一定要转成TO_DATE(DT),否则比较的结果就是NULL

而且现在的HIVE早已经支持CURRENT_DATE,current_timestamp来获取当前时间了,不需要使用FROMUNIXTIMESTAMP函数那么麻烦。

5HIVE暂时不支持CTE(1.2.1)

6.分区表的ETL时,注意加set hive.exec.dynamic.partition.mode=nonstrict,否则ETL时会出错。

7.spark-submt --class xxxxName

--master yarn-client | yarn | local

--driver-memory 10g

--driver-cores 10

--executor-memory 10g

--executor-cores 10

--num-executors 10

./xxxx.jar

注意 根据自己作业的特点去分配这些值,尤其是EXECUTOR 的数量与内存分配,如果内存需求量大,就分多一些内存,还有CORES分配得多,这样同一个STAGE中的任务可以并行得就多。

spark-sql --master yarn-client spark sql只能以YARN-CLIENT OR LOCAL MODE RUN

8.SPARK项目中任务不可以序列化的错误,在EXECUTORS中执行的代码闭包了在DRIVER中声明的变量,而这个变量不能或没有序列化。

9. val x="abc$" if you want to get "abc" println(x.dropRight(1))

10.使用SQOOP把ORALCE数据导到HIVE外部表时,如果HIVE表中的数据类型与ORACLE中的某些字段类型差异较大时,HIVE表查询出来的数据是NULL,或精度丢失,真实的数据并没有丢失,修改HIVE表的结构即可。

11.random.shuffle(Array)使用来取ARRAY中随机的一个值,MAP,FORACH的区别是前者有返回值,后者没有。

12.根据数据量进行滑动,

val x4=Range(1,20).toBuffer

val wb=x4.sliding(10,5)

window size is 10 and step is 5.

13.hive中DOUBLE转DECIMAL,可能会因为DECIMAL的精度设置出现转换失败。

14.spark-sql中获取ORC表的元数据信息,有时候会出现_COL1..还有如果表的内容为空,则会出现目录下没有相应的ORC文件的错误,临时的解决方案是

set spark.sql.hive.convertMetaStoreOrc=false

15.spark连接HBASE,可以直接把HBASE-SITE。XML添加到环境变量,也可以直接把需要的几个项通过属性文件进行获取,然后对CONF对象进行赋值,

主要是hbase.zookeeper.quorum and zookeeper.znode.parent

16.rdd操作不能嵌套调用。

17.HIVE JOIN SRATEGY: SHUFFLE JOIN, BROADCSAT JOIN ,MERGE JOIN

create table xxx clustered by (xxx) sorted by (xxx) into 32 buckets.这种情况下的大表在MERGE JOIN时比较有优势,XXX指JOINKEY。

使用排序和分散来代替传统的索引,减少SHUFFLE。

18.jdbc:oracle:thin@hostname:port/serviceName|serviceid

旧的DRIVER只支持SERVICEID,现在新的支持SERVICENAME,这里需要注意。

 

posted on 2016-12-29 18:33  tneduts  阅读(460)  评论(0编辑  收藏  举报

导航