DarkTime
  • README
  • SpringBoot
    • spring boot 运维
    • Spring Boot 部署war包
    • springboot搭建
    • spring boot 读取配置文件
    • 简单总结
    • spring配置文件
    • spring boot Configuration
    • spring boot 配置文件
    • spring boot 配置mybatis
  • MacAwesome
    • markdown使用
    • MAC APP Awesome
    • [markdown使用](/MacAwesome/SUMMARY.md)
    • chrome
    • intellij idea
    • MacAwesome
    • VS Code 的使用
    • MAC Shell命令
  • database
    • druid使用
  • 框架
    • 项目拆析
    • 各种框架和工具
  • docker
    • kubernetes
    • docker
    • docker 常用镜像
  • 效率工具
    • 解决dns污染导致域名解析失败
    • sonarqube 相关配置
    • Iterm2 使用
    • gitbook
    • github awesome github资源推荐
    • playground 在线试用平台汇总
    • linux中的office
    • linux screen 工具
    • 简单Mock服务(moco)
    • npm
    • Visual Studio Code 的使用
    • 配置开发环境
    • homebrew的使用
    • 汇总
  • tomcat
    • tomcat目录规范
  • code_snippets
  • 专题
    • RESTful API
    • serveless服务
    • 搭建私有云主机 折腾记
    • 开发中的各种疑难杂症问题
    • spring 最佳实践
    • LLM 大语言模型
    • notelive
      • 文章框架
      • notelive vue版本开发
      • notelive 开发 札记
    • webrtc技术分析
    • 反向代理
    • spring-cloud
      • spring boot admin 监控服务
      • Spring Cloud 整理汇总
  • python
    • python 学习
    • Python 修饰器的一些小细节
  • 云主机
    • aliyun 主机的种种
  • maven
    • maven使用
    • maven项目增加编译版本号 buildnumber-maven-plugin
    • 仓库
  • java
    • java 开发常用工具类
    • java
    • apache commons pool 对象连接池
  • 大数据
    • kafka
    • gobblin
    • sqoop 简介及使用
    • hbase
    • gobblin
    • sqoop源码解析
    • hadoop map reduce
    • 大数据 学习札记
  • 脚本
    • python
      • 批量请求url 解析json数据
    • js
      • sheetjs-js读取excel
    • shell
      • 自动生成bitbook的summary文件
      • linux/mac 实用脚本
      • 自动创建tomcat项目脚本
      • 批量处理文件内容脚本
  • nginx
    • nginx
    • ngix 文件浏览器 文件服务器
  • linux
    • 群晖nas札记
    • ftp
    • linux 运维
    • 常用命令
    • linux
    • mysqldump脚本
    • 代理
    • 简易灰度部署脚本 不使用jenkins的纯shell方式
    • shell脚本
    • 附加文档
  • mysql
    • sql
  • 游戏开发
    • Unity 2020 学习笔记
  • 学习笔记
    • centos常用环境安装
    • gradle 学习
    • 建站经历
    • python
      • 爬虫教程
    • 如何解决百度爬虫无法爬取搭建在Github上的个人博客的问题? - 知乎
    • baas
      • 在本地部署Parse Server
    • mysql学习标记
    • java code snippets
    • 非Spring Boot Web项目 注册节点到Eureka Server并提供服务
    • kotlin
      • Kotlin 学习札记
    • spring cloud
    • vim配置
    • 前端
      • 开发PWA应用
  • jenkins
    • jenkins配置备份
    • gitlab触发Jenkins 自动构建
    • 安装与使用
  • npm
    • npm 使用
  • git
    • ignore
    • git使用总结
    • git配置多个远程仓库
  • 前端
    • swig
    • 解决跨域请求问题
    • angularjs 学习
    • scriptbot的前端开发经验总结
    • 各种资源
    • 一些有用的js代码
Powered by GitBook
On this page
  • 参考资料
  • hadoop
  • 参考
  • 概念
  • 使用
  • hue
  • hive
  • kylin
  • presto
  • 安装
  • presto 连接hive
  • presto webui - yanagishima
  • sqoop
  • Ambari

Was this helpful?

  1. 大数据

大数据 学习札记

Previoushadoop map reduceNext脚本

Last updated 3 years ago

Was this helpful?

参考资料

hadoop

参考

概念

hadoop 的四大组件: HDFS:分布式存储系统 MapReduce:分布式计算系统 YARN: hadoop 的资源调度系统 Common: 以上三大组件的底层支撑组件,主要提供基础工具包和 RPC 框架等

Namenode:是整个文件系统的管理节点。它维护着1.整个文件系统的文件目录树,2.文件/目录的元信息和每个文件对应的数据块列表。3.接收用户的操作请求。 Datanode:提供真实文件数据的存储服务。

以Apache Hadoop为主导的大数据技术的出现,使得中小型公司对于大数据的存储与处理也拥有了武器。目前Hadoop有不少发行版:华为发行版 收费 、Intel发行版 收费 、Cloudera发行版(Cloudera’s Distribution Including Apache Hadoop,简称 CDH ) 免费 、Hortonworks发行版(Hortonworks Data Platform,简称 HDP ) 免费 等,所有这些发行版均是基于Apache Hadoop社区版衍生出来的。

使用

操作hdfs系统可以使用hadoop fs 也可以使用 hdfs dfs ,两者效果一样。(hadoop dfs命令已不再建议使用)

# [HDFS基本命令的使用](https://blog.csdn.net/afafawfaf/article/details/80254989)
hadoop fs -ls  显示当前目录结构,-ls -R 递归显示目录结构
hadoop fs -mkdir  创建目录
hadoop fs -rm   删除文件,-rm -R 递归删除目录和文件
hadoop fs -put  [localsrc] [dst]  从本地加载文件到HDFS
hadoop fs -get  [dst] [localsrc]  从HDFS导出文件到本地
hadoop fs -copyFromLocal [localsrc] [dst]  从本地加载文件到HDFS,与put一致
hadoop fs -copyToLocal [dst] [localsrc]  从HDFS导出文件到本地,与get一致
hadoop fs -test -e  检测目录和文件是否存在,存在返回值$?为0,不存在返回1
hadoop fs -text  查看文件内容
hadoop fs -du  统计目录下各文件大小,单位字节。-du -s 汇总目录下文件大小,-du -h 显示单位
hadoop fs -tail  显示文件末尾
hadoop fs -cp [src] [dst] 从源目录复制文件到目标目录
hadoop fs -mv [src] [dst] 从源目录移动文件到目标目录

hue


hive


kylin


presto

实际业务中用Presto的原因

  1. 第一点也是最重要的一点跨库和跨数据源,什么概念?跨库:mysql中有A库a表,B库b表,用Presto SQL可以实现a,b两表的join操作。跨数据源:mysql中有A库a表,oracle中有B库b表,用Presto SQL可以实现a,b两表的join操作。

  2. Presto SQL和传统SQL大同小异,基本对于熟悉SQL的人员0成本进入

  3. 数据量支持GB到PB字节

  4. 集群部署,可水平扩展增强大的Presto SQL查询速度

  5. 客户端可以是PHP,JAVA, Python, 命令行等等,这样可以作为一个平台级的中间件给团队提供支撑

  6. Presto是JAVA书写而成,我是JAVA出身,对报错或者配置更熟悉

EN官网:https://prestodb.io/ CN官网:http://prestodb-china.com/ GitHub:https://github.com/prestodb/presto

安装

presto 连接hive

presto webui - yanagishima

yanagishima可以连接hive和presto,搭建简单,功能也可以满足基本需要,github也一直在维护,推荐。 https://github.com/yanagishima/yanagishima


sqoop

sqoop import --connect jdbc:mysql://localhost:3306/sqoop --username root --password root --table Student --direct
# 导入mysql表添加 --direct 参数速度更快,执行的是mysq自带的导出功能


#压缩
sqoop import \
-m 1 \
--connect jdbc:mysql://localhost:3306/test?useSSL=false --password root --username root \
--table dw_slice_rule --hive-table dw_slice_rule_compress --delete-target-dir --direct \
--hive-import --hive-database default --hive-overwrite --create-hive-table --delete-target-dir \
--compress --compression-codec org.apache.hadoop.io.compress.SnappyCodec

# 非压缩
sqoop import -m 1 --connect jdbc:mysql://localhost:3306/test?useSSL=false --password root --username root --table dw_slice_rule --hive-table dw_slice_rule --hive-import --hive-database default --hive-overwrite --create-hive-table  --delete-target-dir --direct

orc导入 (使用hcatalog方式导入 不存在数据错位问题)

sqoop import \
-m 1 \
--connect jdbc:mysql://localhost:3306/test?useSSL=false --password root --username root \
--create-hcatalog-table --hcatalog-database my_hcat_db \
--table dw_slice_rule --hcatalog-table dw_slice_rule_orc \
--hcatalog-storage-stanza 'stored as orc tblproperties ("orc.compress"="SNAPPY")' --delete-target-dir

sqoop import \
 --connect jdbc:postgresql://foobar:5432/my_db \
 --driver org.postgresql.Driver \
 --connection-manager org.apache.sqoop.manager.GenericJdbcManager \
 --username foo \
 --password-file hdfs:///user/foobar/foo.txt \
 --table fact \
 --hcatalog-home /usr/hdp/current/hive-webhcat \
 --hcatalog-database my_hcat_db \
 --hcatalog-table fact \
 --create-hcatalog-table \
 --hcatalog-storage-stanza 'stored as orc tblproperties ("orc.compress"="SNAPPY")'

where条件导入

sqoop import \
--connect jdbc:mysql://localhost:9800/boss?useSSL=false --password root --username root \
--table crm_account --hive-table crm_account_dimension \
--hive-drop-import-delims \
--delete-target-dir --num-mappers 1 \
--hive-import --hive-database dc_measure --hive-overwrite --create-hive-table \
--compress --compression-codec org.apache.hadoop.io.compress.SnappyCodec

# --hive-drop-import-delims 用于解决数据导入时数据错位以及产生null值问题 [sqoop 从oracle到hive数据错位,并产生很多null值](https://blog.csdn.net/duyuanhai/article/details/76021549)
#!/bin/bash
month=(201704 201705 201706 201707 201708 201709 201710 201711 201712)

for i in ${month[@]}
do

echo ">>>>import: $i"

sqoop import \
--connect jdbc:mysql://localhost:9901/mydb?useSSL=false --password 123456 --username root \
--incremental append \
--check-column stat_date \
--last-value "2017-04-31" \
--table dw_result_product_bill_detail_$i --hive-table dw_result_product_bill_detail_merge \
--hive-drop-import-delims \
--hive-import --hive-database bill \
--compress --compression-codec org.apache.hadoop.io.compress.SnappyCodec

done

Ambari

Ambari安装presto

增量导入

hadoop集群可视化部署工具,具备Hadoop组件的安装、管理、运维等基本功能,提供Web UI进行可视化的集群管理,简化了大数据平台的安装、使用难度。

Hadoop教程™
MapReduce(一) mapreduce基础入门 - 凌-风 - 博客园
presto、druid、sparkSQL、kylin的对比分析,如性能、架构等,有什么异同? - 知乎
环境搭建 Hadoop+Hive(orcfile格式)+Presto实现大数据存储查询一 - 翟中龙 - 博客园
Hadoop_常用存储与压缩格式
hadoop 四种压缩格式
hadoop中的hadoop和hdfs和yarn命令
Hadoop Hdfs常用命令
Hive快速入门 - CSDN博客
Kylin的cube模型 - Treant - 博客园
Kylin介绍 (很有用) - 一片黑 - 博客园
Kylin的Hierarchies,Derived维度方面配置优化 - CSDN博客
Ambari安装Presto(离线)
ambari-presto-service 官方文档
github/ambari-presto-service
Ambari界面Presto重启报错ERROR:presto_client:Error connecting to presto server at: localhost:8285
4.2. Hive连接器 — Presto 0.100 Documentation
[总结]----Sqoop 几种导入导出模式
使用Sqoop从MySQL导入数据到Hive和HBase
学习Hadoop第二十二课(Sqoop---数据迁移工具)
Sqoop 加载数据到ORC表 - CSDN博客
Sqoop将数据导入到hive时,数据错位的问题解决
Sqoop import as OrC file
sqoop指定多个字段导入类型 - CSDN博客
Sqoop增量导入实战 - CSDN博客
Ambari 功能简介
大数据 学习札记
参考资料
hadoop
参考
概念
使用
hue
hive
kylin
presto
安装
presto 连接hive
presto webui - yanagishima
sqoop
Ambari