datax

大厂高频面试题-连续登录问题

梦想的初衷 提交于 2020-11-14 04:02:13
1 背景 对于数据开发人员来说,手写sql是比较熟悉的了,就有这样一道题,面试时需要手写sql,这就是非常经典的连续登录问题,大厂小厂都爱问,这种题说简单也不简单,说难也不难,关键是要有思路。 2 真题 hql统计连续登陆的三天及以上的用户 这个问题可以扩展到很多相似的问题:连续几个月充值会员、连续天数有商品卖出、连续打车、连续逾期。 数据提供 用户ID、登入日期 user01,2018-02-28 user01,2018-03-01 user01,2018-03-02 user01,2018-03-04 user01,2018-03-05 user01,2018-03-06 user01,2018-03-07 user02,2018-03-01 user02,2018-03-02 user02,2018-03-03 user02,2018-03-06 输出字段 +---------+--------+-------------+-------------+--+ | uid | times | start_date | end_date | +---------+--------+-------------+-------------+--+ 3 群内讨论 这道题在群里发出后,大家就展开了激烈的讨论: 4 解决方案 可以看出来,有很多种不同的解决方案。

【ABAP系列】ABAP CL_ABAP_CONV_IN_CE

五迷三道 提交于 2020-11-04 05:23:00
公众号: SAP Technical 本文作者: matinal 原文出处: http://www.cnblogs.com/SAPmatinal/ 原文链接: 【ABAP系列】ABAP CL_ABAP_CONV_IN_CE 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。 正文部分 Conversion either CREATE + CONVERT Error rendering macro 'code': Invalid value specified for parameter 'lang' DATA conv TYPE REF TO cl_abap_conv_in_ce. DATA buffer(4) TYPE x. DATA text(100) TYPE c. buffer = '41424332'. "bytes represent ABC2 in UTF-8 conv = cl_abap_conv_in_ce=>create( encoding = 'UTF-8' ). conv->convert( EXPORTING input = buffer IMPORTING data = text ). ASSERT text = `ABC2`. or CREATE + READ + SKIP_C (buffer of bytes with a

数据源管理 | 搜索引擎框架,ElasticSearch集群模式

ぐ巨炮叔叔 提交于 2020-10-26 23:37:15
本文源码: GitHub·点这里 || GitEE·点这里 一、集群环境搭建 1、环境概览 ES版本6.3.2,集群名称esmaster,虚拟机centos7。 服务群 角色划分 说明 en-master master 主节点:esnode1 en-node01 slave 从节点:esnode2 en-node02 slave 从节点:esnode3 ElasticSearch基础功能和用法: MySQL数据全量和增量方式向ES搜索引擎同步 Linux系统Centos7环境搭建ElasticSearch中间件 SpringBoot2整合ElasticSearch搜索引擎框架 在真正海量数据的业务场景中,ElasticSearch搜索引擎都是需要集群化管理的,实时搜素几十亿的数据十分常见。 2、集群配置 配置文件 vim /opt/elasticsearch-6.3.2/config/elasticsearch.yml 主节点配置 # 集群主节点配置 cluster.name: esmaster node.master: true # 节点名称 node.name: esnode1 # 开发访问 network.host: 0.0.0.0 从节点配置 注意这里两个从节点配置,node.name分别配置为esnode2和esnode3即可。 # 集群名称 cluster.name:

Pytorch循环神经网络LSTM时间序列预测风速

此生再无相见时 提交于 2020-10-24 14:45:45
# 时间序列预测分析 就是利用过去一段时间内某事件时间的特征来预测未来一段时间内该事件的特征。这是一类相对比较复杂的预测建模问题,和回归分析模型的预测不同,时间序列模型是依赖于事件发生的先后顺序的,同样大小的值改变顺序后输入模型产生的结果是不同的。 #时间序列模型最常用最强大的的工具就是递归神经网络(recurrent neural network, RNN)。相比与普通神经网络的各计算结果之间相互独立的特点,RNN的每一次隐含层的计算结果都与当前输入以及上一次的隐含层结果相关。通过这种方法,RNN的计算结果便具备了记忆之前几次结果的特点。 #LSTM(Long Short-Term Memory)模型是一种RNN的变型,可以处理rnn模型的局限性 #这里实现pytorch的LSTM来预测未来的风速的模型 #导包(都用得到) import torch from torch.autograd import Variable import torch.nn as nn import pandas as pd from pandas import DataFrame import matplotlib.pyplot as plt import numpy as np #原始数据 #时间序列问题,时间的那一列是不代入训练或者测试的,所以时间列可以删除。是用前几行的预测下一行的。通俗点[1

matlab 高斯核使用,超像素图像模拟,矩阵转图像,深度相机模型实践实现 ———— MATLAB(七)

北城余情 提交于 2020-10-14 11:16:47
clc; close all; clear %% %%----平面--1280*800 single plane fitting d0=800;%标定距离mm B=45;%基线长度mm f=1000;%焦距,像素 min_distance=350;%mm M=1280; N=800; MAX=1023; max_value=800; d1 =1000; dep_val=800; img_depth=zeros(M,N)*dep_val; %% figure s = surf(img_depth); s.EdgeColor = [0 1 0]; title('深度值') % load('center_coordinate245_8359'); load('center_coordinate270_vescl'); figure plot(center_coordinate(:,1),center_coordinate(:,2),'.') axis equal set(gca,'FontSize',12) set(gca,'ydir','reverse')%设左上角为(0,0)点 axis([0 800 0 1280]) title('点阵图') % s=B*f*(d1-d0)/(d1*d0); %% 生成一个高斯函数,函数与散斑点的灰度分布具有有较高的一致性,即可以很好的仿真当前的

架构设计 | 接口幂等性原则,防重复提交Token管理

风格不统一 提交于 2020-08-19 13:53:34
本文源码: GitHub·点这里 || GitEE·点这里 一、幂等性概念 1、幂等简介 编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。就是说,一次和多次请求某一个资源会产生同样的作用影响。 2、HTTP请求 遵循Http协议的请求,越来越强调Rest请求风格,可以更好的规范和理解接口的设计。 GET:用于获取资源,不应有副作用,所以是幂等的; POST:用于创建资源,重复提交POST请求可能产生两个不同的资源,有副作用不满足幂等性; PUT:用于更新操作,重复提交PUT请求只会对其URL中指定的资源有副作用,满足幂等性; DELETE:用于删除资源,有副作用,但它应该满足幂等性; HEAD:和GET本质是一样的,但HEAD不含有呈现数据,仅是HTTP头信息,没有副作用,满足幂等性; OPTIONS:用于获取当前URL所支持的请求方法,满足幂等性; 二、场景业务分析 1、订单支付 实际开发中,经常会面对订单支付问题,基本流程如下: 客户端发起订单支付请求 ; 支付前系统本地相关业务处理 ; 请求第三方支付服务执行扣款; 第三方支付返回处理结果; 本地服务基于支付结果响应客户端; 该业务流程中要处理相当复杂的问题,比如事务,分布式事务,接口延迟超时,客户端重复提交等等,这里只基于幂等接口角度来看该流程,其他问题后续再聊。 2、幂等接口

架构设计 | 接口幂等性原则,防重复提交Token管理

假如想象 提交于 2020-08-18 06:35:58
本文源码: GitHub·点这里 || GitEE·点这里 一、幂等性概念 1、幂等简介 编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。就是说,一次和多次请求某一个资源会产生同样的作用影响。 2、HTTP请求 遵循Http协议的请求,越来越强调Rest请求风格,可以更好的规范和理解接口的设计。 GET:用于获取资源,不应有副作用,所以是幂等的; POST:用于创建资源,重复提交POST请求可能产生两个不同的资源,有副作用不满足幂等性; PUT:用于更新操作,重复提交PUT请求只会对其URL中指定的资源有副作用,满足幂等性; DELETE:用于删除资源,有副作用,但它应该满足幂等性; HEAD:和GET本质是一样的,但HEAD不含有呈现数据,仅是HTTP头信息,没有副作用,满足幂等性; OPTIONS:用于获取当前URL所支持的请求方法,满足幂等性; 二、场景业务分析 1、订单支付 实际开发中,经常会面对订单支付问题,基本流程如下: 客户端发起订单支付请求 ; 支付前系统本地相关业务处理 ; 请求第三方支付服务执行扣款; 第三方支付返回处理结果; 本地服务基于支付结果响应客户端; 该业务流程中要处理相当复杂的问题,比如事务,分布式事务,接口延迟超时,客户端重复提交等等,这里只基于幂等接口角度来看该流程,其他问题后续再聊。 2、幂等接口

Apache DolphinScheduler(海豚调度)

痞子三分冷 提交于 2020-08-18 01:21:38
Apache DolphinScheduler 是一个分布式去中心化,易扩展的可视化 DAG 工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。 近日,伯毅同学给社区贡献了工作流核心表结构的剖析文章,非常细致,喜欢的伙伴请转走 1. 工作流总体存储结构 在 dolphinscheduler 库中创建的所有工作流定义(模板)都保存在 t_ds_process_definition 表中. 该数据库表结构如下表所示: 序号 字段 类型 描述 1 id int(11) 主键 2 name varchar(255) 流程定义名称 3 version int(11) 流程定义版本 4 release_state tinyint(4) 流程定义的发布状态:0 未上线 , 1已上线 5 project_id int(11) 项目id 6 user_id int(11) 流程定义所属用户id 7 process_definition_json longtext 流程定义JSON 8 description text 流程定义描述 9 global_params text 全局参数 10 flag tinyint(4) 流程是否可用:0 不可用,1 可用 11 locations text 节点坐标信息 12 connects text 节点连线信息

datax将MySQL数据导入到Oracle

蹲街弑〆低调 提交于 2020-08-17 05:21:20
因Oracle dblink BUG导致每次查询大量数据的时候无法查询,现在通过datax直接将重要数据同步过来。 datax的文档还是很齐全的,这里走了许多弯路。 { "job": { "setting": { "speed": { "channel": 5 } }, "content": [ { "reader": { "name": "mysqlreader", "parameter": { "username": "selectuser", "password": "selectpass", "column": ['*'], "splitPk": "id", "connection": [ { "table": ["user"], "jdbcUrl": ["jdbc:mysql://192.168.0.2:3306/mall_db"], } ] } }, "writer": { "name": "oraclewriter", "parameter": { "username": "oracleuser", "password": "oraclepass", "column": ['*'], "truncate": "true", "preSql": ["truncate table user"], "connection": [ { "jdbcUrl": "jdbc

pyecharts在数据可视化中的应用详解

烈酒焚心 提交于 2020-08-15 05:42:38
使用pyecharts进行数据可视化 安装 pip install pyecharts 也可以在pycharm软件里进行下载pyecharts库包。 下载成功后进行查询版本号 import pyecharts print(pyecharts.__version__) pyecharts的中文官网 可以查看pyecharts的中文官网介绍 http://pyecharts.org/#/zh-cn/intro 。 一般的使用方法 add() 该方法主要用于添加图表的数据和设置各种配置项。 show_config() 用于打印输出图表的所有配置项 render() 该方法默认将会在根目录下生成一个 render.html 的文件,支持 path 参数,设置文件保存位置,如 render(r"e:my_first_chart.html"),文件用浏览器打开。 注意* 默认的编码类型为 UTF-8,在 Python3 中是没什么问题的,Python3 对中文的支持好很多。但是在 Python2 中,编码的处理是个很头疼的问题,暂时没能找到完美的解决方法,目前只能通过文本编辑器自己进行二次编码,我用的是 Visual Studio Code,先通过 Gbk 编码重新打开,然后再用 UTF-8 重新保存,这样用浏览器打开的话就不会出现中文乱码问题了。 基本使用 chart_name = Type