大数据平台从理论到实践6

关于深网,就是不能从搜索引擎搜索到的公开内容
深网里大部分数据都是从数据库里面查询出来的结构化数据

实时数据(比如log)采集流程

采集log-》flume(装载工具)->kafka->spark/storm/flink(计算引擎)->存储rdbms(Relational Database Management System)/nosql-》处理-》展示

系统日志的采集工具

facebook的scribe
hadoop平台的chukwa
cloudera公司的flume
处理效率,每秒上百兆

标签的前端管理

离线数据的可视化等功能依赖Springboot+Vue.js搭建的前后端分离系统进行展示
而Hive和Druid的可视化查询功能,我们可以用Superset这个BI工具,
superset的搭建和使用参考:https://www.jianshu.com/p/b02fcea7eb5b

大数据平台从理论到实践5

最近在做数据批量导入工作,就发现用sql的select&insert方式装载大量数据效率太低,对不同的数据库其实有不同的批量导入的优化工具,比如:

1.bcp

BCP是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据

2.bulk

  • 2.1、bulk相当于数据库里的bash操作。
  • 2.2、引入批量操作bulk,提高工作效率,你想啊,一批一批添加与一条一条添加,谁快?
  • 2.3、bulk API可以帮助我们同时执行多个请求
  • 2.4、bulk一次最大处理多少数据量?
      bulk会把将要处理的数据载入内存中,所以数据量是有限制的,最佳的数据量不是一个确定的数值,它取决于你的硬件,你的文档大小以及复杂性,你的索引以及搜索的负载。
      一般建议是1000-5000个文档,如果你的文档很大,可以适当减少队列,大小建议是5-15MB,默认不能超过100M,可以在es的配置文件(即$ES_HOME下的config下的elasticsearch.yml)中
    ~~~~~~

另外,关于数据的增量加载:

1.oracle cdc(changed data capture)

支持自动记录数据变化日志,可以通过比对日志进行增量加载,变化的数据会保存在db的变化表中

2.时间戳

3.md5全表扫描

4.触发器

触发器增量抽取原理:
在源数据表上建立触发器(ex可以建立插入,修改和生产三个触发器),每当源表数据变化,通过相应触发器将变化的数据写入临时表。抽取线程从临时表抽取数据。抽取过的数据被标记或者删除。优点:数据抽取性能较好;缺点:对业务建立出发器,对业务系统有影响

智能合约安全审计

https://www.slowmist.com/service-smart-contract-security-audit.html

Animatecc摄像头动画&骨骼动画

Animatecc相比之前的flash添加的这两个功能不错
1.摄像头动画 从另外一个角度调整整个动画
2.骨骼联动 动物动作更加逼真,可以精确控制了

Docker备份和迁移

备份与迁移

容器保存为镜像
我们可以通过以下命令将容器保存为镜像

docker commit -p pyg_nginx mynginx
pyg_nginx是容器名称

mynginx是新的镜像名称

此镜像的内容就是你当前容器的内容,接下来你可以用此镜像再次运行新的容器

镜像备份

docker save -o mynginx.tar mynginx
-o 输出到的文件

执行后,运行ls命令即可看到打成的tar包

镜像恢复与迁移
首先我们先删除掉mynginx镜像

然后执行此命令进行恢复

docker load -i mynginx.tar
-i 输入的文件

执行后再次查看镜像,可以看到镜像已经恢复
利用镜像,以端口映射的方式创建容器,这里80端口映射到本机80,3306同理
docker run -i -t -p 80:80 -p 3306:3306 myimages /bin/bash
因为镜像已经安装xampp,我们直接启动xampp

格式转换

视频格式在线转换
https://www.xunjieshipin.com/video-converter

开搞达梦数据库

如何查看达梦数据库各个表的大小
1、创建一个表来存各表的大小
create table table_count (owner varchar(100),table_name varchar(100),used_space_MB varchar(100));

2、执行语句块,查出各表的大小,存进table_count这个表里。

declare
begin
for rec in
(
select owner, table_name from all_tables order by 1, 2
)
loop
insert into table_count
select
rec.owner ,
rec.table_name,
table_used_pages(rec.owner, rec.table_name)*(page()/1024)/1024
from
dual;
end loop;
end;

3、查询表table_count的信息,根据需求排序,就能看到各表的大小
select * from table_count order by used_space_mb desc;

animatecc videoplayer

!!!临时测试可以,但最好不要在时间线上code,否则bug不可控!!!
animatecc videoplayer

//创建一个NetConnection对象,用于创建视频连接
var nc:NetConnection = new NetConnection();
//创建一个NetStream对象,用于控制视频的加载和播放
var ns:NetStream;
//创建一个Video对象,用于显示视频内容
var vid:Video = new Video();
//创建两个Object对象,以获取和储存视频的元数据信息
var movieObj:Object;
var customClient:Object;
//储存视频播放器的播放状态
var playStatus:String="play";


function metaDataHandler(metaDataObject:Object) {
    //将回调的视频元数据赋予movieObj对象
    movieObj=metaDataObject;
}


function playVideo() {


    //创建NetConnection对象连接。由于此时视频文件位于本地计算机上,因此参数为null
    nc.connect(null);
    //通过nc连接创建NetStream对象实例
    ns = new NetStream(nc);
    //设置ns对象的client属性为customClient对象,以便当获得元数据时,触发onMetaData( )事件回调处理函数metaDataHandler
    customClient= {onMetaData:metaDataHandler};
    ns.client = customClient;
    //使用play方法下载并播放视频
    ns.play("wdata.mp4");
    //使用Video对象的attachNetStream方法,将NetStream中的视频数据显示在vid容器中
    vid.attachNetStream(ns);

    vid.width = 3832;
    vid.height = 888;
    vid.smoothing = true;
    waipic.addChild(vid);

    addEventListener(Event.ENTER_FRAME,showPlayProgress);
}

function showPlayProgress(event:Event) {
    //通过目前播放点的时间值除以总时长,得到当前的播放进度
    var curtime:Number = ns.time;
    var totaltime:Number = movieObj.duration;

    //当播放进度大于99.99%时,表示播放到了视频尾部,此时重新播放视频
    if (curtime/totaltime>=0.9999) {
        ns.close();
        playVideo();
    }
}

function init() {

    movieObj= new Object();

    playVideo();
}
init();

网旋风animate动画广告创意直播书摘

中国古语:温故知新,学无止境
网旋风AnimateCC是动画广告创作利器,adobe公司在动画影视方面的软件真的是一骑绝尘,甩其他同类型的软件好多条街了。
书摘如下:
1. 画正圆的小技巧,按住shift;画正椭圆就按住alt
2. 刷子工具绘图填充模式:
– 标准绘画:一笔刷下去盖住填充色和线条色
– 颜料填充:一笔刷下去盖住填充色,线条不受影响
– 后面绘画:一笔刷下去不影响填充和线条,只影响空白区
– 内部绘画:如果一笔刷下去的起点在空白区,效果同“后面绘画”;如果一笔刷下去的起点在填充区,则盖住填充色,线条和空白区不受影响
– 颜料选择:一笔刷下去只影响选定区域内的填充色和线条色

网络广告术语

作为在互联网这个领域传播的主要形式,网络广告有很多相关的网络术语。

CPA(Cost-per-Action):

每次行动的费用,即根据每个访问者对网络广告所采取的行动收费的定价模式。对于用户行动有特别的定义,包括形成一次交易、获得一个注册用户或首对网络广告的一次点击等。

CPC(Cost-Per-Click):

每次点击的费用。根据广告被点击的次数收费。如关键词广告一般采用这种定价模式

CPM(Cost-Per-Thousand-impressions):

每千次印象费用。广告条每显示1000次(印象)的费用。CPM是最常用的网络广告定价模式之一。

Cpo(cost- per-Order):

也称为Cost-per-Transaction,即根据每个订单/每次交易来收费的方式。

PPC(Pay-per-Cick):

是根据点击广告或者电子邮件信息的用户数量来付费的一种网络广告定价模式。

PPL( Pay-per-Lead):

根据每次通过网络广告产生的引导付费的定价模式。例如,广告客户为访问者点击广告完成了在线表单而向广告服务商付费。这神模式常用于网络会员制营销模式中为联盟网站制定的佣金模式。

ppS(Pay-per-sale):

根据网络广告所产生的直接销售数量而付费的一种定价模式。

CpTM(Cost-per-targeted-thousand- Impressions):

经过定位的用户(如根据人口统计信息定位)的千次印象费用。

SP(Sales-Promotion):

超市的铺售促销包括各种属于短期性的刺激工具,用以刺激顾客较迅速或大量的在商店购买商品。如果广告促销提供了在该商店购买商品的理由,那
销售促销则提供了购买的刺激。

POP( Point-of- Purchase- Advertising):

意为店面广告、售点广告,是指在商品购买场所,零售商店的周围、入口、内部以及有商品的地方设置的广告。

DM( Direct-Mail):

是一种散发给顾客的快讯商品广告单,通常由8开或16开广告纸正反面彩色印刷而成,是超市的一种重要促销方式。通过有效的DM可以介绍新品,吸引及增加新顾客,提高客流量,扩大营业额,提高毛利率

Cps(cost-per-sales):

以实际销售产品数量来换算广告刊登金额。