随笔分类 -  Hadoop/Spark/Hive

摘要:在Azure中Hadoop被拆成了两个服务: Azure Data Lake Store 和 HDinsight Clusters Azure Data Lake Store 即HDFS, 按储存量/小时 和 读写次数收费 HDinsight Clusters 即YARN以及SPARK, hive等 阅读全文
posted @ 2018-06-21 15:01 爱知菜 阅读(27) 评论(0) 推荐(0)
摘要:Hadoop Streaming 就是使用 hadoop jar命令 调用streaming jar包进行MR. 通过标准输入和标准输出进行交互. 脚本语言如python会从标准输入中读, 向标准输入中写. hadoop jar 命令有两种类型的参数, generic options 和 comma 阅读全文
posted @ 2018-06-15 17:21 爱知菜 阅读(27) 评论(0) 推荐(0)
摘要:It is common for a MapReduce program to require one or more files to be read by each map or reduce task before execution. For example, you may have a 阅读全文
posted @ 2018-06-14 17:49 爱知菜 阅读(13) 评论(0) 推荐(0)
摘要:Hive命令行中可以使用 add file /path/python/script.py 来添加脚本 Hive会把查询结果输入到标准输入, 在map阶段Python从标准输入中读取, 逐行处理, 返回结果 比如 select TRANSFORM(col1, col2) using 'python s 阅读全文
posted @ 2018-05-31 19:10 爱知菜 阅读(31) 评论(0) 推荐(0)
摘要:Hive必须以service模式运行: hive --service hiveserver2 hiveserver2 --hiveconf hive.server2.thrift.port=20001 Java maven 项目的pom.xml中加上: <dependency> <groupId>o 阅读全文
posted @ 2018-05-25 17:58 爱知菜 阅读(137) 评论(0) 推荐(0)
摘要:Java的类中可以定义静态代码块, 每次我们使用hive的create [temporary] function语句时,会调用UDF中的静态代码块. 静态代码块是类加载时用到调用的. UDF并不是每有一行记录就会实例化一次, 而是复用的. Hive会在HiveQL语句运行之初就实例化若干个UDF的实 阅读全文
posted @ 2018-05-25 17:52 爱知菜 阅读(29) 评论(0) 推荐(0)
摘要:GenericUDF提供了更好的参数和返回值检查, 效率更高, 适合处理HIVE中的复杂数据类型 把字符串变成词向量, 例如: "This is a sentence"->{'This':1, 'is':1, 'a':1, 'sentence':1} 对于外部依赖, 为了让集群的每个节点都能执行ja 阅读全文
posted @ 2018-05-23 18:14 爱知菜 阅读(57) 评论(0) 推荐(0)
摘要:安装Maven (https://blog.csdn.net/rav009/article/details/79469303)安装Eclipse安装Eclipse的Maven插件 m2e 使用Eclipse创建Maven项目 Group ID一般是org.yourname.projectname, 阅读全文
posted @ 2018-05-18 17:37 爱知菜 阅读(87) 评论(0) 推荐(0)
摘要:1. namenode is in safe mode, 使用下面命令行离开safe mode: hadoop dfsadmin -safemode leave 2. Container [pid=22826,containerID=container_1526436506350_0003_01_0 阅读全文
posted @ 2018-05-16 13:24 爱知菜 阅读(55) 评论(0) 推荐(0)
摘要:把windows的日志复制到linux目录下, 可以先用file,head,tail等命令查看文件概况. 使用dos2unix命令将文件转成unix格式 由于HIVE的时间类型只支持timestamp(hive中timestamp的格式是"YYYY-MM-DD HH:MM:SS"), 所以我们要把日 阅读全文
posted @ 2018-05-15 11:58 爱知菜 阅读(25) 评论(0) 推荐(0)
摘要:复制驱动: 首先在Hive的安装目录里找到Hive的jdbc jar文件. 比如 hive/apache-hive-2.3.2-bin/jdbc/hive-jdbc-2.3.2-standalone.jar. 复制这个jar文件到Kettle的lib目录下, 比如 /Kettle/data-inte 阅读全文
posted @ 2018-05-10 18:28 爱知菜 阅读(62) 评论(0) 推荐(0)
摘要:件节点默认端口配置用途说明HDFSDataNode50010dfs.datanode.addressdatanode服务端口,用于数据传输HDFSDataNode50075dfs.datanode.http.addresshttp服务的端口HDFSDataNode50475dfs.datanode. 阅读全文
posted @ 2018-04-20 16:08 爱知菜 阅读(31) 评论(0) 推荐(0)
摘要:仅针对伪分布模式, 即单节点 解压缩下载的编译好的安装包 tar -xzvf hbase-1.2.6-bin.tar.gz -C /opt 修改hbase安装目录的conf文件夹下的hbase-site.xml <configuration> <property> <name>hbase.rootd 阅读全文
posted @ 2018-04-19 16:52 爱知菜 阅读(33) 评论(0) 推荐(0)
摘要:map-side join: map-side join顾名思义就是join的动作在map阶段完成, 不必动用reducer. 但是要用上map-side join必须满足的条件是两个join的表, 必须有一个足够小. 小到可以使用 Hadoop的 DistributedCache 功能把小表缓存到 阅读全文
posted @ 2018-04-13 16:52 爱知菜 阅读(46) 评论(0) 推荐(0)
摘要:hive 的log path(linux) 在 /tmp/username/ 调用hive: hive -f script.sql hive -e 'select * from table' hive --config /user/another/config/directory hive -hiv 阅读全文
posted @ 2018-04-09 17:05 爱知菜 阅读(41) 评论(0) 推荐(0)
摘要:Mapper的默认key是文本中一行的偏移量, value则是输入文本的值 import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; 阅读全文
posted @ 2018-03-09 18:30 爱知菜 阅读(26) 评论(0) 推荐(0)
摘要:解决hadoop no dataNode to stop问题 错误原因: datanode的clusterID 和 namenode的 clusterID 不匹配。 解决办法: 1、 打开 hadoop/tmp/dfs/namenode/name/dir 配置对应目录下的 current 目录下的 阅读全文
posted @ 2018-03-09 17:35 爱知菜 阅读(172) 评论(0) 推荐(0)
摘要:我们在操作hadoop时会写很多jar文件, 或者使用streaming的时候会写很多python脚本, 当集群开始运行任务时需要把这些jar文件和python脚本分发到具体执行的每个节点上去, 这个过程中用的是什么框架呢? 就是Hadoop的 Distributed Cache系统 Distrib 阅读全文
posted @ 2018-03-05 18:02 爱知菜 阅读(34) 评论(0) 推荐(0)
摘要:Map-Reduce的流程切面: SplitMapperPartitionCombinerGroupReducer 这里要解释下 Partition 和 Group (它们都是Shuffle的重要步骤)的区别. 他们的作用都是为了Reducer分配记录去处理.但区别是Partition是把记录分给不 阅读全文
posted @ 2018-03-01 16:51 爱知菜 阅读(24) 评论(0) 推荐(0)
摘要:Shuffle阶段又可以分为Map端的shuffle和Reduce端的Shuffle。 一、Map端的shuffle Map端会处理输入数据并产生中间结果,这个中间结果会写到本地磁盘(转者注: 这个中间结果可以压缩, 以节省IO),而不是HDFS。每个Map的输出会先写到内存缓冲区中,当写入的数据达 阅读全文
posted @ 2018-02-08 15:39 爱知菜 阅读(51) 评论(0) 推荐(0)