当前位置: 首页 > news >正文

手机网站大全推荐网站的现状

手机网站大全推荐,网站的现状,麻涌企业网站建设,上海市企业服务云登录8.23笔记 8.23笔记一、Hive中函数1.1 Hive中内置函数1.1.1 数学函数1.1.2 字符串函数1.1.3 日期函数1.1.4 条件函数1.1.5 特殊函数 1.2 Hive的自定义函数1.2.1 自定义UDF1.2.2 自定义UDTF 二、Hive的压缩机制三、数据同步工具Sqoop的安装和使用3.1 sqoop的概念3.2 sqoop的核心功… 8.23笔记 8.23笔记一、Hive中函数1.1 Hive中内置函数1.1.1 数学函数1.1.2 字符串函数1.1.3 日期函数1.1.4 条件函数1.1.5 特殊函数 1.2 Hive的自定义函数1.2.1 自定义UDF1.2.2 自定义UDTF 二、Hive的压缩机制三、数据同步工具Sqoop的安装和使用3.1 sqoop的概念3.2 sqoop的核心功能3.2.1 数据导入import3.2.2 数据导出export 3.3 sqoop的底层实现3.4 sqoop的安装和部署3.4.1 sqoop软件安装三部曲 3.5 sqoop的基本操作3.6 sqoop的核心功能操作3.6.1 数据导入import3.6.2 数据导出 四、相关代码 8.23笔记 一、Hive中函数 Hive主要是用来做统计分析的函数就是把一些常用的复杂的计算逻辑封装Hive之所以可以实现统计分析很大一部分取决于Hive中函数的概念 1.1 Hive中内置函数 1.1.1 数学函数 abs/pow/sqrt/… 1.1.2 字符串函数 concat/concat_ws split 1.1.3 日期函数 current_date()date_format(date,format)datediff(date,date)date_add(date,day)date_sub(date,day) 1.1.4 条件函数 ifcase 1.1.5 特殊函数 字符串有关的特殊函数解析URL类型的字符串的 parse_urlparse_url_tuple 数组/集合类型有关的函数 array(T...) | map(string key,string value,string key,string value.....)explodearray/map---UDTFcollect_set/collect_list(col) --UDAFsplit/concat_ws 侧视图函数lateral view 侧视图函数都是要和UDTF函数结合使用的 lateral view udtf(x...) tableAlias as columnAlias 侧视图的作用就是将普通列的数据和UDTF函数执行完成之后的多行多列的数据做笛卡尔乘积实现一些普通HQL无法实现的功能 select xxxx from tableA lateral view udtf(x...) tableAlias as columnAlias 开窗函数 over(partition by 字段 order by 字段 asc|desc rows between 上边界 and 下边界) 开窗函数的作用就是把表中的数据构建出多个虚拟窗口窗口其实就是分组查询表中数据的时候会识别到数据属于哪个窗口得到这个窗口相关的一些信息和普通数据列一些返回。 partition by 的作用就是用来规定以哪个字段进行分组开窗 order by的作用就是对划分的窗口的以指定的字段进行排序 rows between的作用是为了划分窗口的边界的每一个窗口默认的边界是 分组中的所有数据但是窗口也可以是分组的部分行数据。 默认情况下 我们不写边界默认边界默认无上边界也无下边界就是一个组中的所有数据 开窗函数不能单独使用开窗函数需要集成一些特殊函数一起使用 first_value(col),last_value(col) 获取一个窗口中某一列的第一个值或者最后一个值 排名函数 row_number() rank() dense_rank() 根据当前行数据在窗口的排名 赋予一个排名编号 聚合函数 sum/avg/count/max/min——————获取一个窗口的一个聚合值 【注意】开窗函数要和一些其他函数结合使用而其他函数在使用的时候大部分函数默认的边界都是无上边界和无下边界而有少部分函数如果没有写窗口边界默认不是无边界而是有边界的 所以以后大家在使用窗口函数的时候建议大家最好把窗口边界也给声明上。 1.2 Hive的自定义函数 1.2.1 自定义UDF 1.2.2 自定义UDTF 二、Hive的压缩机制 Hive底层会转换成为MapReduce运行MapReduce阶段中间都是可以进行压缩的。因此Hive也支持设置压缩机制也是设置转换的MR程序底层是Map阶段压缩 还是reduce阶段压缩 Hive底层也可以转换成为Spark或者TEZ程序运行Spark和TEZ的压缩和Mapreduce的压缩是不一样的。 三、数据同步工具Sqoop的安装和使用 3.1 sqoop的概念 在大部分常见的软件中比如淘宝、拼多多…网站都会产生大量的数据 电商网站订单数据、商品数据、分类数据、用户信息数据、用户行为数据等等 课程网站订单数据、视频数据、课程数据、用户信息数据等等 … 虽然说不同领域的数据格式和数据含义不一样但是他们都有一个公共点数据大部分都是在RDBMS关系型数据库进行存放的。如果我们要对某一个领域的数据进行大数据的统计分析首先我们必须先把数据从非大数据环境同步到大数据环境中。 大部分数据都是在RDBMS存放的大数据环境大部分都是HDFS、Hive、HBase。我们需要把RDBMS的数据同步到大数据环境中。 SQOOP软件是Apache开源的顶尖项目sqoop 被设计用来在RDBMS和HadoopHive、HDFS、HBase之间进行数据传输的工具 因此sqoop的适用场景限制就非常大因此这个技术基本很少更新了。软件基本已经从apache退役 3.2 sqoop的核心功能 3.2.1 数据导入import 指的是将数据从RDBMSMySQL\ORACLE\SQL SERVER导入到Hadoop环境HDFS、HBASE、Hive中 导入的作用就是将数据从非大数据环境导入到大数据环境通过大数据技术做统计分析的 3.2.2 数据导出export 指的是将数据从Hadoop环境HDFS、Hive、HBase导出到RDBMS中 将数据统计分析完成得到结果指标指标在大数据环境存放的如果对指标做可视化展示数据在大数据环境下很难进行可视化展示的因此我们需要把数据从大数据环境导出到非大数据环境RDBMS中进行可视化展示等后续操作 3.3 sqoop的底层实现 sqoop技术也是Hadoop生态的一部分因为Sqoop进行导入和导出数据时需要编写针对的导入和导出命令但是这个命令底层也会转换成为MapReduce程序进行运行。 SQOOP运行基于MapReduce和YARN进行运行 3.4 sqoop的安装和部署 因此sqoop底层是基于Hadoop的因此sqoop也是安装一个单节点的即可sqoop也是提供了一个可以导入和导出数据的命令行客户端 3.4.1 sqoop软件安装三部曲 上传解压配置环境变量修改软件的配置文件——————sqoop-env.sh文件sqoop的特殊配置 sqoop可以数据把数据在大数据和非大数据环境之间进行迁移的非大数据环境主要是RDBMS关系型数据库sqoop连接RDBMS 底层也是基于JDBC进行连接的因此如果要使用sqoop连接rdbms我们需要把对应数据库的jdbc驱动程序jar包放到sqoop的lib目录下需要把mysql-connector-java,jar 放到sqoop的lib目录下即可 3.5 sqoop的基本操作 sqoop查看RDBMS中有哪些数据库 sqoop list-databasessqoop查看某一个数据库下有哪些数据表 sqoop list-tables还可以通过sqoop执行sql语句 sqoop eval --query sql 需要跟数据库的连接参数 –connect jdbcurl –username 用户名 –password 密码 3.6 sqoop的核心功能操作 3.6.1 数据导入import 指的是将数据从RDBMS关系型数据库导入到Hadoop环境中HDFS、Hive、HBase 将RDBMS的数据导入到HDFS中 不常用 HDFS导入时连接的RDBMS的参数 参数说明–driver–connect–username–password[–table]导入哪张数据表的数据[–columns]导入指定数据表的指定列的数据[–query]根据查询语句的结果导入数据[–where]筛选条件根据指定的条件导入数据 HDFS导入的参数 参数名说明–target-dir导入到HDFS上的路径–delete-target-dir如果HDFS的路径存在 提前删除[–as-textfile|sequencefile…]导入到HDFS上的文件的格式–num-mappers指定导入的时候底层MapReduce启动多少个Map Task运行–fields-terminated-by指定导入的文件列和列的分隔符–lines-terminated-by指定导入的文件的行和行的分割符 导入数据表的所有数据到HDFS sqoop import --driver com.mysql.cj.jdbc.Driver --connect jdbc:mysql://single:3306/demo?serverTimezoneUTCuseUnicodetruecharacterEncodingUTF-8 --username root --password Root123456.. --table student --target-dir /import --delete-target-dir --fields-terminated-by --num-mappers 1 --as-sequencefile导入数据表的指定列的数据到HDFS sqoop import --driver com.mysql.cj.jdbc.Driver --connect jdbc:mysql://single:3306/demo?serverTimezoneUTCuseUnicodetruecharacterEncodingUTF-8 --username root --password Root123456.. --table student --columns student_name,student_age --target-dir /import --delete-target-dir --fields-terminated-by , --num-mappers 1 --as-textfile根据查询语句导入指定的数据到HDFS --table table_name --where 条件 只能导入一张表的数据 sqoop import --driver com.mysql.cj.jdbc.Driver --connect jdbc:mysql://single:3306/demo?serverTimezoneUTCuseUnicodetruecharacterEncodingUTF-8 --username root --password Root123456.. --table student --columns student_name,student_age --where student_age40 --target-dir /import --delete-target-dir --fields-terminated-by , --num-mappers 1 --as-textfile--query 可以通过连接查询同时导入多张表的数据 sqoop import --driver com.mysql.cj.jdbc.Driver --connect jdbc:mysql://single:3306/demo?serverTimezoneUTCuseUnicodetruecharacterEncodingUTF-8 --username root --password Root123456.. --query select * from student where student_age40 and $CONDITIONS --target-dir /import --delete-target-dir --fields-terminated-by , --num-mappers 1 --as-textfile将RDBMS的数据导入到Hive数据表中常用 导入参数 HDFS导入时连接的RDBMS的参数 参数名说明–driver–connect–username–password[–table]导入哪张数据表的数据[–columns]导入指定数据表的指定列的数据[–query]根据查询语句的结果导入数据[–where]筛选条件根据指定的条件导入数据 导入到Hive中的参数 参数名说明–hive-import指定将数据导入到Hive的数据表而非HDFS或者HBase–hive-database指定将数据导入到Hive的哪个数据库中–hive-table指定将数据导入到Hive的哪个数据表中–create-hive-table如果Hive表没有提前存在那么这个选项必须添加会根据导入的数据自动推断创建Hive数据表但是如果Hive中的数据表已经存在那么这个参数一定不能添加 如果我们将RDBMS中的数据导入到Hive中有两种导入模式 全量导入 第一次导入RDBMS的数据到Hive中 将RDBMS对应的数据表中的数据全部导入Hive中--hive-overwrite 将上述指定的数据全部到Hive对应的数据表数据表会清空 增量导入 非第一次导入RDBMS数据到Hive 将RDBMS数据表对应增加的新的数据导入到Hive中 增量导入又分为两种方式一种根据自增id导入第二种根据一个时间戳增量导入 根据RDBMS数据表的自增id导入 参数名说明–check-column rdbms数据表的自增列名–incremental append–last-value上一次导入的自增的值的最后一个 根据RDBMS数据表的一个时间字段导入 参数名说明–check-column rdbms数据表的时间列–incremental lastmodified–last-value“上一次导入的最后一条数据的时间戳” 全量导入 如果要做全量导入Hive的数据表可以不用提前存在使用create-hive-table自动创建即可 sqoop import --driver com.mysql.cj.jdbc.Driver --connect jdbc:mysql://single:3306/demo?serverTimezoneUTCuseUnicodetruecharacterEncodingUTF-8 --username root --password Root123456.. --table student --hive-import --hive-database test --hive-table student --create-hive-table增量导入如果要做增量导入Hive数据表必须提前存在而且还具备RDBMS对应数据表的历史数据 按照自增id增量导入 sqoop import --driver com.mysql.cj.jdbc.Driver --connect jdbc:mysql://single:3306/demo?serverTimezoneUTCuseUnicodetruecharacterEncodingUTF-8 --username root --password Root123456.. --table student --hive-import --hive-database test --hive-table student --check-column student_id --incremental append --last-value 5按照创建时间增量导入hive-import目前还不支持时间戳增量的方式 注意如果将数据导入到Hive中sqoop一共做了两步操作 1、先通过MR程序把数据上传到HDFS上 2、使用hive的load装载命令将上传到HDFS上的数据文件加载到数据表中 sqoop操作Hive的时候需要Hive的依赖但是sqoop默认是没有hive的编程依赖的因此sqoop迁移数据到hive会报错如果不想报错那么我们需要把hive-common.jar包复制到sqoop的lib目录下。 3.6.2 数据导出 四、相关代码 -- 时间日期函数 select date_sub(2022-10-1,2);create table student_score(student_id int,student_name string,student_class int,student_score double );insert into student_score values(1,zs,1,80.0),(2,ls,1,90.0),(3,ww,1,100.0),(4,ml,1,85.0),(5,zsf,2,80.0),(6,zwj,2,70.0),(7,qf,2,60.0); select * from student_score; -- 查询每一个学生的成绩并且还要获取同一个班级的学生和前一个学生的成绩的差值 select a.*,abs(a.student_score-a.front_score) as score_diff from(select *, first_value(student_score) over(partition by student_class order by student_id asc rows between 1 preceding and current row) as front_scorefrom student_score ) as a-- 查询每一个学生的成绩同时还要获取同一个班级每一个学生和班级最高分的差值。 -- 对于这个案例窗口的边界是一组中的所有数据而非一个组中的部分数据。 -- 如果窗口的边界是族中的所有数据那么我们需要设置窗口的上边界和下边界都是无边界状态 select * ,abs(student_score-(max(student_score) over(partition by student_class rows between UNBOUNDED PRECEDING and UNBOUNDED FOLLOWING))) as score_diff from student_score;select * ,last_value(student_score) over(partition by student_class rows between UNBOUNDED PRECEDING and UNBOUNDED FOLLOWING) as score_diff from student_score;
http://www.dnsts.com.cn/news/278393.html

相关文章:

  • 做网站优化推广贵阳建设工程信息网站
  • 个人备案网站可以做电商吗郑州网站建设方案书
  • dedecms 旅游网站模板带娃儿做的工作网站
  • 廊坊网站备案网站备案授权书模板
  • 珠海建网站的联系方式广告设计专业专科学校有哪些
  • 深圳做物流网站做网站php语言用什么工具
  • 大连市那里做网站宣传的好wordpress的api
  • 做网站怎么分手机版和电脑版提升seo排名
  • 合肥建设网站制作哪个好wordpress id连续
  • 城乡建设学校官方网站网络推广工作任务和职业能力
  • 深圳松岗 网站建设欧美风网站建设
  • 大学 建网站怎么做直播室的网站
  • 做网站是什么会计科目京东网站建设的目的
  • 循环视频做网站背景wordpress设置新页面
  • 如何做网站条幅闪图自动点击器
  • 包装设计接单网站抖音代运营招商
  • 网站空间哪个好旅游电子商务网站开发方案
  • 买域名不建网站注册网站英语怎么说
  • lng企业自建站我做钓鱼网站自首了
  • 漳州手机网站建设公司创建网站需要哪些要素
  • apache设置网站网址天津市城乡和住房建设厅网站
  • 做外贸到什么网站上发布比较好上海创意型网站建设
  • 做线上网站需要多少钱设计上海网站
  • 建设厅网站修改密码wordpress带投稿模板
  • 做刷单网站违法吗企业网络构建
  • 移动端网站开发技术设计师可以在哪些网站接单
  • 旅游类网站如何做推广软件人力外包
  • 网站设计制作要多少钱做网站需要去哪里备案
  • 网站建设优化陕西装饰公司怎么找客户
  • wordpress 打不开文明seo技术教程网