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

网站防止被采集wordpress 下载文件

网站防止被采集,wordpress 下载文件,塘厦镇做网站,深圳百度关键字优化撤回流的处理 撤回流是指流式处理过程中#xff0c;两表join过程中的数据是一条一条跑过来的#xff0c;即原本可以join到一起的数据在刚开始可能并没有join上。 撤回流的格式#xff1a; 解决方案 定时器#xff1a;使用定时器定时10s#xff08;数据最大的时间差值两表join过程中的数据是一条一条跑过来的即原本可以join到一起的数据在刚开始可能并没有join上。 撤回流的格式 解决方案 定时器使用定时器定时10s数据最大的时间差值定时器触发时将状态中的数据发送过来如果重复计算这些数据如何保持结果正确即可通过每次度量值修改为当次度量值 - 上次度量值即可 异步IO 减少等待的时间充分利用已有的资源使用异步IO时必须保证从头到尾都是异步的操作即使用异步的连接器 /*** 获取到 redis 的异步连接** return 异步链接对象*/public static StatefulRedisConnectionString, String getRedisAsyncConnection() {RedisClient redisClient RedisClient.create(redis://hadoop102:6379/2);return redisClient.connect();}/*** 关闭 redis 的异步连接** param redisAsyncConn*/public static void closeRedisAsyncConnection(StatefulRedisConnectionString, String redisAsyncConn) {if (redisAsyncConn ! null) {redisAsyncConn.close();}}/*** 获取到 Hbase 的异步连接** return 得到异步连接对象*/public static AsyncConnection getHBaseAsyncConnection() {Configuration conf new Configuration();conf.set(hbase.zookeeper.quorum, hadoop102);conf.set(hbase.zookeeper.property.clientPort, 2181);try {return ConnectionFactory.createAsyncConnection(conf).get();} catch (Exception e) {throw new RuntimeException(e);}}/*** 关闭 hbase 异步连接** param asyncConn 异步连接*/public static void closeAsyncHbaseConnection(AsyncConnection asyncConn) {if (asyncConn ! null) {try {asyncConn.close();} catch (IOException e) {throw new RuntimeException(e);}}}异步IO关联 AsyncDataStream.unorderedWait(异步核心逻辑, 60, TimeUnit.SECONDS) 异步关联维度表CompletableFuture.supplyAsync(new Supplier(){ 异步访问读取Redis中的数据 })返回的数据类型是Future类型 先拼写访问的redisKey获取到dimSkuInfoFuture期货使用dimSkuInfoFuture.get()获取异步结果 thenApplyAsync(new Function()) 旁路缓存判断判断是否在redis中读取到相关数据如果没有读取到需要访问HBase.需要重写HBase的getCells方法改为getAsyncCells方法 连接更换为异步连接Future类型数据需要再get()方法获取具体的值无需关闭连接 将从HBase读取的数据保存到redis, redisAsyncConnection.async().setex(redisKey,24*60*60,dimJsonObj.toJSONString()); 异步维度关联封装 继承RichAsyncFunctionTradeSkuOrderBean, TradeSkuOrderBean接口将表名和rowkey拼接的方法抽象化让方法调用者自己传进来封装join方法 join(TradeSkuOrderBean input, JSONOjbect dim); join方法里面填写度量值的聚合逻辑将抽象方法和具体方法分离把抽象方法放到接口中在实现该接口将TradeSkuOrderBean类改为泛型方法T public abstract class DimAsyncFunctionT extends RichAsyncFunctionT, T implements DimJoinFunctionT{StatefulRedisConnectionString, String redisAsyncConnection;AsyncConnection hBaseAsyncConnection;String tableName;Overridepublic void open(Configuration parameters) throws Exception {redisAsyncConnection RedisUtil.getRedisAsyncConnection();hBaseAsyncConnection HBaseUtil.getHBaseAsyncConnection();}Overridepublic void close() throws Exception {RedisUtil.closeRedisAsyncConnection(redisAsyncConnection);HBaseUtil.closeAsyncHbaseConnection(hBaseAsyncConnection);}Overridepublic void asyncInvoke(T input, ResultFutureT resultFuture) throws Exception {//java的异步编程方式String tableName getTableName();String rowKey getId(input);String redisKey RedisUtil.getRedisKey(tableName, rowKey);CompletableFuture.supplyAsync(new SupplierString() {Overridepublic String get() {//第一步异步访问得到的数据RedisFutureString dimSkuInfoFuture redisAsyncConnection.async().get(redisKey);String dimInfo null;try {dimInfo dimSkuInfoFuture.get();} catch (Exception e) {e.printStackTrace();}return dimInfo;}}).thenApplyAsync(new FunctionString, JSONObject() {Overridepublic JSONObject apply(String dimInfo) {JSONObject dimJsonObj null;//旁路缓存判断if (dimInfo null || dimInfo.isEmpty()) {try {//需要访问HBasedimJsonObj HBaseUtil.getAsyncCells(hBaseAsyncConnection, Constant.HBASE_NAMESPACE, tableName, rowKey);//将读取的数据保存到redisredisAsyncConnection.async().setex(redisKey, 24 * 60 * 60, dimJsonObj.toJSONString());} catch (Exception e) {e.printStackTrace();}} else {//redis中存在缓存数据dimJsonObj JSONObject.parseObject(dimInfo);}return dimJsonObj;}}).thenAccept(new ConsumerJSONObject() {public void accept(JSONObject dim) {//合并维度信息if (dim null) {//无法关联到维度信息System.out.println(无法关联到当前的维度信息: tableName : rowKey);} else {join(input,dim);}//返回结果resultFuture.complete(Collections.singletonList(input));}});}}
http://www.zqtcl.cn/news/185354/

相关文章:

  • xx市院门户网站建设方案做视频特技的网站
  • 肇庆seo公司咨询23火星seo 网站
  • 天元建设集团有限公司破产新手seo网站做什么类型好
  • spa.net网站开发二次开发需要什么
  • 如何做网站静态页面商丘网签查询
  • 网站建设好学么模版型网站是怎样的
  • 网站维护建设费应计入科目高端营销型网站制作
  • 推荐几个好的网站wordpress 加载数据库表格也卖弄
  • 承德网站开发找人做网站安全吗
  • 百度网站推广电话眼镜网站怎么做竞价
  • 邢台建设银行官方网站为什么建设网站很多公司没有
  • 闵行做网站费用湖南正规网络营销哪家便宜
  • 找个公司做网站需要注意什么wordpress用户名长度
  • 推荐几个没封的正能量网站营销技巧和营销方法视频
  • html mip 网站桂林市临桂区
  • 做网站如何月入10万建行app怎么注册登录
  • 建设一个旅游网站毕业设计建设网站的功能定位是什么原因
  • wordpress网站导航模板杭州建设网站的公司
  • 如何做视频解析网站wordpress 关闭评论
  • 安福网站建设微信开发者工具怎么下载
  • 网罗设计网站威海网页设计制作公司
  • 网站用cmswordpress插件怎么做
  • 如何办好公司网站元器件网站搭建
  • 建设领域行政处罚查询网站wordpress数据库发文章
  • 怎么做网页的多开器宿迁seo优化
  • 别人帮做的网站怎么修改病句店铺引流的30种方法
  • 网站备案幕布怎么申请绍兴cms建站模板
  • 做网站熊掌号软件设计公司排名
  • 深圳 做网站学做西点的网站
  • 静态网站安全性百度服务平台