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

金山做网站t和p在一起怎么做网站

金山做网站,t和p在一起怎么做网站,网站推广seo教程,直销软件直销系统开发公司一、数据清洗,你都清洗什么?或者说 ETL 你是怎么做的? 我在这个项目主要清洗的式日志数据,日志数据传过来的json格式 去除掉无用的字段,过滤掉json格式不正确的脏数据 过滤清洗掉日志中缺少关键字段的数据&#xff…

一、数据清洗,你都清洗什么?或者说 ETL 你是怎么做的?

我在这个项目主要清洗的式日志数据,日志数据传过来的json格式

去除掉无用的字段,过滤掉json格式不正确的脏数据

过滤清洗掉日志中缺少关键字段的数据(如缺少用户名,设备型号,等)

过滤清洗掉日志中不符合时间段的记录(由于app上日志上报有延迟等)

对用户的特殊信息进行脱敏,身份证,手机号等

将简单的的数据标准化(用户传过来的数据,经清洗后写入表格)

将重复的数据去重等(如session分割)

二、hive 和 spark 如何关联,关联过程中容易出现什么问题?

如何在DataGrip上使用hive的数据源编写Spark代码_datagrip配置spark-CSDN博客

如何关联:

启动hive的HiveMetaStore服务(hive-server-manager.sh start metastore)

设置spark的日志级别

启动spark的链接服务(10000端口hive在用,可以将spark的端口更改为10001)

遇到的问题:

hive中的数据库和sparksql中的数据库不是同一个,spark指向了本地的而不是集群的hdfs

链接之后,创建库表,上传数据后去集群的mysql中查看dbs中看这个库指向的是hdfs还是本地

需要修改hive的配置文件,然后复制到sparkconf然后分发集群重启就行

三、hive 如何处理 json 数据?

两个方法:

1、将数据视为无结构的string,将传入的json数据看作一条数据然后在hive建表上传

然后使用get_json_object函数

select get_json_object(line,'$.account') from test_json limit 10;

2、json格式进行映射(这需要jsonSerde的支持),创建表的时候加上ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.JsonSerDe',然后就可读json数据,load就行

hdfs上的数据,导入表中一次后,直接删除,或者叫做移动,所以下一次再导入会说没有这个文件。

3、json_tuple() 可以一次提取多个字段。

select json_tuple('{"action_time":1682219447,"monitor_id":"0001","camera_id":"1","car":"豫A12345","speed":34.5,"road_id":"01","area_id":"20"}','camera_id','road_id','area_id','speed') as (cameraid,roadid,areaid,speed);

四、你的这个 spark 离线数仓的项目的项目架构图,请简单描述一下

数据经flum的抽取,将各个埋点的日志数据传入hive(进行处理sparksql处理)作为ods层,然后对ods层的数据进行清洗脱敏等然后当作tmp临时表,然后将tmp表进行合并生成dwd公共数据明细层,然后以dwd为基础,按天进行轻度汇总,粒度是一行信息代表的行为,例如一天下单的次数,以dws数据层为基础,按主题进行汇总,一个项目可以分为很多的主题,进行汇总,例如某个用户从注册开始到现在下单次数等,ads为各种统计表提供数据。

其中要对整个流程进行调度,监控,权限管理。

五、编写完成的 spark 程序,如何运行?

1、在本地模式运行

编写好的Python代码直接在本地运行

2、在集群环境中运行

编写完成的pyspark程序,上传到虚拟机,要把依赖的文件也上传上去,我这里上传的地址在/home/spark-shell中,然后将jsonsed的依赖jars包拉进去,然后sumit提交spark任务,传入参数,就能运行,在正常的情况下,要把每一py程序写成一个shell脚本,然后任务调度器每天定时调度shell脚本传入日期数据

spark-submit    \
--master yarn  \
--deploy-mode client \
--conf "spark.pyspark.driver.python=/opt/installs/anaconda3/bin/python3" \
--conf "spark.pyspark.python=/opt/installs/anaconda3/bin/python3" \
--driver-memory 512m \
--executor-memory 512m \
--executor-cores 1 \
--num-executors 2 \
--queue default  \
/home/spark-shell/AppLogWash.py $dt

六、spark 本地化运行,提示缺包怎么办?集群提示缺包怎么办?

spark本地化运行,提示缺包:

将所缺少的包导入到External libraries下的 site-packages\pyspark\jars下,重启服务

集群提示缺包 解决方案:

1、运行时,添加jar包依赖,需要使用如下方式:

--jars /opt/installs/hive/lib/hive-serde-3.1.2.jar,/opt/installs/hive/lib/hive-common-3.1.2.jar

2、将两个jar包,提交到hdfs上的spark的jars下:

hdfs dfs -put /opt/installs/hive/lib/hive-serde-3.1.2.jar /spark/jars

hdfs dfs -put /opt/installs/hive/lib/hive-common-3.1.2.jar /spark/jars

七、你这个项目中的 session 分割是什么?怎么做?为什么 要做这个呢?

分割的是用户在App的会话信息。因为APP的session往往持续时间比较长,不像浏览器那样,有固定的30分钟,所以对APP上的行为进行会话内的分析是不准确的 当一个行为发生时间相比较上一个行为的时间超过10分钟,则认为用户刚才将APP后台或者退出了,则从该行为开始属于一个新的会话。

怎么做?

先创建一张原始表,将分割前的数据导入进去。

创建一张表,存储session切割之后的结果。

创建一个类AppLogSessionSplit,通过sparksql完成session会话切割操作

每次开发,可以先使用hive 将sql编写正确,然后再在spark中粘贴。

为什么?

通过对用户的行为按照时间进行session会话的切割,可以对设备的行为按照会话级别粒度进行分析,例如一个用户在一次会话中从哪进入了产品,又从哪退出了产品,在一次会话中用户的停留时长,在一次会话中用户访问了多少个页面等

http://www.hkea.cn/news/373594/

相关文章:

  • 如何做免费的网站推广东莞百度seo
  • 宜昌网站制作公司百度竞价官网
  • 建站公司网站模板论坛怎么建网站
  • 上海做b2b网站公司深圳公司网络推广该怎么做
  • 自己做的网站怎么在百度可以查到网络小说网站三巨头
  • 怎么做网站客服弹窗站长之家seo工具包
  • 自己建一个电商网站吗网络营销的定义
  • 专门做金融的招聘网站四川seo选哪家
  • wordpress nginx伪静态配置拼多多seo怎么优化
  • 深圳网站开发电话惠州网络营销
  • 中宁网站建设公司商城全网推广运营公司
  • 网站文章列表如何排版郑州seo技术培训班
  • 小型b2c网站百度开户渠道商哪里找
  • 武进区住房和城乡建设局网站爱站网能不能挖掘关键词
  • APP手机端电子商务网站建设营销成功的案例
  • 公司网站引导页百度搜索关键词排名优化技术
  • 网站开发与维护学什么网站建设seo优化培训
  • 常州网站开发百度网盘电脑版官网
  • wordpress安全权限关键词优化公司哪家好
  • 银川做网站服务google play下载安卓
  • 科技型中小企业服务网安徽搜索引擎优化seo
  • 网站建设专家排名邯郸seo营销
  • 做网站一个月20g流量够吗安全又舒适的避孕方法有哪些
  • 扫二维码直接进网站怎么做怎么提交网址让百度收录
  • 柳州建设局网站广告买卖网
  • 做外贸一般上哪些网站google play谷歌商店
  • 泉州手机网站制作如何做企业产品推广
  • 徐州手机网站设计汕头网站建设优化
  • 有没有专业收费做网站优化的百度百科优化排名
  • 常州网站建设哪家便宜江西seo推广软件