
大数据
low-bee
这个作者很懒,什么都没留下…
展开
-
Hive中的动态分区
背景现在, Hive我们需要做一个全量的更新, 对于之前的分区的中的数据我们要进行查询 -> 修改 -> 覆盖操作, 对于新分区的数据需要做到将符合条件的数据进行插入, 之前的数据通过id得到.如下图:在这种情况下, 我们希望dt=3的数据放到今天的分区中, 之前的数据去对应的分区进行更新. 可以使用动态分区来完成语法insert [overwrite] table test1 partition(dt)select a , 具体分区 from test 举个例子, 我们上面的原创 2021-04-27 12:31:49 · 317 阅读 · 0 评论 -
hiveserveice2断开连接
背景使用idea连接hiveserveice2, 开始的时候没有报错,运行一段任务后, 任务失败, 尝试重新运行时出现 java.io.Exception:连接被拒绝原因hiveservice2服务因为空间不足被kill, 查看日志后发现Java Heap 异常, 因此是内存不足引起的解决将hive/conf/hive-env.sh中的# export HADOOP_HEAPSIZE= 修改为 export HADOOP_HEAPSIZE=1024重启hiveservice2出现错误serv原创 2021-04-27 11:15:42 · 1199 阅读 · 0 评论 -
# Spark makeRDD默认分区策略
指定参数sc.makeRDD(List[Int](1, 2, 3, 4), numSlices = 3)得到结果[1], [2], [3,4]为什么会这样分呢?//到对应的方法中def parallelize[T: ClassTag]( seq: Seq[T], numSlices: Int = defaultParallelism): RDD[T] = withScope { assertNotStopped() new ParallelCollect原创 2021-04-22 08:32:30 · 486 阅读 · 0 评论 -
Spark 默认parallelize问题
parallelizespark中有并发的概念, 当使用parallelize方法, 或者makeRDD方法创建一个RDD的时候, 可以选择传入一个默认的并行度, 来提高效率. 当不传入第二个参数的时候, 默认是几个分区呢?def makeRDD[T: ClassTag]( seq: Seq[T], numSlices: Int = defaultParallelism): RDD[T] = withScope { parallelize(seq, numSlices)原创 2021-04-21 22:44:06 · 692 阅读 · 0 评论 -
hive spark连接超时
使用hive报错ql.Driver: FAILED: SemanticException Failed to get a spark session: org.apache.hadoop.hive.ql.metadata.HiveException: Failed to create Spark client for Spark session ce22776f-34da-4eb0-84f5-0aa3fcefaf3a查看报错日志发现client.SparkClientImpl: Timed ou原创 2021-04-20 10:20:05 · 3991 阅读 · 4 评论 -
使用UDF和UDTF
是什么UDF: 在hive中输入一行数据, 返回一个新的数据UDTF: 输入一行数据, 返回多行数据UDAF: 输入多行数据, 返回一行数据为什么在hive中, 有一些复杂的功能,hive自己给的一些函数已经满足不了的时候, 而写MapReduce又很麻烦, 希望能使用到Hive来自定义处理的时候, 就可以使用自定义函数.怎么做自定义一个函数, 需要的就是简单的继承一下 GenericUDF或者GenericUDTF或者GenericUDAFEvaluator等. 然后实现对应的方法.如原创 2021-04-18 21:34:44 · 217 阅读 · 0 评论 -
Hive读入数据出现NULL
背景有一个Lzo压缩文件和它的索引读如入数据的时候出现了一行Null数据.原因默认的CombineHiveInputFormat不能识别Lzo文件索引文件, 将这行数据认为是一行数据解决HiveInputFormat能识别Lzo索引文件, 从而跳过...原创 2021-04-17 16:56:42 · 293 阅读 · 0 评论 -
IDEA--大数据开发神器
大数据开发工具?你有IDEA就够了!序你是否有被大数据开发工具支配的恐惧? 每次开始学习. 你需要打开idea开始写代码打开一个ssh工具, 例如xshell上传文件打开xftp打开一个记笔记工具, 例如Typro要写hive sql, 打开一个sql 文件 没有提示的状态写sql…太痛苦了! 本篇文章让你解决痛苦, 大呼卧槽, 只需要一个idea, 让你一站式直达.科学的 idea 工具参考 知了, 知了大神有各种姿势让你拥有一个科学的idea工具ss原创 2021-03-26 01:23:43 · 910 阅读 · 3 评论 -
Job提交流程源码
int maps = writeSplits(job, submitJobDir);// 1 做一个兼容if (jConf.getUseNewMapper()) { maps = writeNewSplits(job, jobSubmitDir);// 当前是新的split切割方法, 因此走这条路} else { maps = writeOldSplits(jConf, jobSubmitDir);}// 2 通过反射创建一个InputFormat的实现类, 默认是FileIn翻译 2021-03-16 20:58:42 · 144 阅读 · 0 评论 -
Hadoop权威指南第四版数据下载代码
Hadoop权威指南第四版数据下载起因今天买了本《Hadoop权威指南》的PDF资料。原谅我,等我有钱长大一定买正版。因为是盗版所以没有各种的资料,比如说第二章的数据。因为我比较穷爱搞事情,加上上个学期才上完爬虫课。因此写了个脚本把资料下好啦(2019)年的。ok不废话,代码贴出来import requestsimport reimport osfrom urllib import requestclass Downloader(object): header = {原创 2020-09-05 15:57:44 · 512 阅读 · 1 评论