clickhouse create distributed table

CREATE TABLE canyin_local ON CLUSTER default ( `good_id` String, `delivery_fee` String, `province` String, `emotionalKeywords` String, `shopId` String, `longitude` String, `registration_institution` String, `goodRatePercentage` String, `shopSellCount` String, `min_delivery_price` String, `phone` String, `district` String, `opening_hours` String, `sellCount` String, `goodDescription` String, `delivery_mode` String, `city` String, `latitude` String, `praiseNum` String, `shopName` String, `city_grade` String, `title` String, `categoryName` String, `shopCommentCount` String, `salesAmount` String, `street` String, `administrative_region` String, `platformName` String, `priceText` String, `licencePics` String, `address` String, `shopImages` String, `platformId` String, `rootCategoryId` String, `timeStamp` String, `original_cost` String, `shopDescription` String, `rootCategoryName` String, `categoryId` String, `time` Date ) ENGINE = ReplicatedMergeTree( ‘/clickhouse/tables/canyin_local/{shard}’, ‘{replica}’, time, (timeStamp, time), 8192); NEXT STEP: CREATE TABLE canyin_distributed ON CLUSTER default AS canyin_local ENGINE = Distributed(default, default, canyin_local, rand());

clickhouse create local table

CREATE TABLE IF NOT EXISTS food ( `good_id` String, `delivery_fee` String, `province` String, `district` String, `emotionalKeywords` String, `shopId` String, `longitude` Float64, `registration_institution` String, `goodRatePercentage` String, `shopSellCount` String, `min_delivery_price` String, `phone` String, `opening_hours` String, `sellCount` UInt32, `goodDescription` String, `delivery_mode` String, `city` String, `latitude` Float64, `praiseNum` UInt32, `shopName` String, `city_grade` String, `title` String, `categoryName` String, `shopCommentCount` String, `salesAmount` Float64, `street` String, `administrative_region` String, `platformName` String, `priceText` Float64, `licencePics` String, `address` String, `shopImages` String, `platformId` UInt16, `rootCategoryId` String, `timeStamp` String, `original_cost` String, `shopDescription` String, `rootCategoryName` String, `categoryId` String ) ENGINE = MergeTree() PARTITION BY timeStamp ORDER BY (platformName, good_id) SETTINGS index_granularity = 8192;

mysql update for food

SELECT good_id, delivery_fee, province, emotionalKeywords, shopId, longitude, registration_institution, goodRatePercentage, shopSellCount, min_delivery_price, phone, district, opening_hours, sellCount, goodDescription, delivery_mode, city, latitude, praiseNum, shopName, city_grade, title, categoryName, shopCommentCount, salesAmount, street, administrative_region, platformName, priceText, licencePics, address, shopImages, platformId, rootCategoryId, timeStamp, original_cost, shopDescription, rootCategoryName, categoryId from mt limit 1000

UPDATE elm set registration_institution=-1 where registration_institution is NULL

UPDATE mt set registration_institution=IFNULL(null,-1);
UPDATE mt set delivery_fee=IFNULL(null,-1);
UPDATE mt set province=IFNULL(null,-1);
UPDATE mt set emotionalKeywords=IFNULL(null,-1);
UPDATE mt set longitude=IFNULL(null,-1);
UPDATE mt set registration_institution=IFNULL(null,-1);
UPDATE mt set goodRatePercentage=IFNULL(null,-1);
UPDATE mt set min_delivery_price=IFNULL(null,-1);
UPDATE mt set phone=IFNULL(null,-1);
UPDATE mt set opening_hours=IFNULL(null,-1);
UPDATE mt set shopDescription=IFNULL(null,-1);

erji Honor

GET 2019_tmall/_search
{
“size”: 0,
“query”: {
“bool”: {
“must”: [
{
“bool”: {
“should”: [
{
“match_phrase”: {
“categoryId”: “50005050”
}
},{
“match_phrase”: {
“categoryId”: “1205”
}
}
]
}
},{
“bool”: {
“should”: [
{
“match_phrase”: {
“title”: “tws”
}
},{
“match_phrase”: {
“title”: “真无线”
}
},{
“match_phrase”: {
“title”: “airpods”
}
}
]
}
}
]
}
}
}

GET 2019_jd/jd_2019_1,jd_2019_2,jd_2019_3,jd_2019_4,jd_2019_5,jd_2019_6,jd_2019_7,jd_2019_8,jd_2019_9,jd_2019_10,jd_2019_11/_search
{
“size”: 0,
“query”: {
“bool”: {
“must”: [
{
“bool”: {
“must”: [
{
“match_phrase”: {
“subCategoryId”: “842”
}
}
]
}
},{
“bool”: {
“should”: [
{
“match_phrase”: {
“title”: “airpods”
}
},{
“match_phrase”: {
“Base_Info”: “真无线”
}
},{
“bool”: {
“must”: [
{
“match_phrase”: {
“title”: “真无线”
}
},{
“match_phrase”: {
“Base_Info”: “其他”
}
}
]
}
}
]
}
}
],”must_not”: [
{
“match_phrase”: {
“Base_Info”: “单边”
}
}
]
}
}
}

新的科学上网方案:V2Ray

2018年的到来还伴随着GFW的全面升级,我自己的搭建的ssr老是被封,而V2ray是新一代的科学上网神器。

V2Ray 是 Project V 下的一个工具。Project V 是一个包含一系列构建特定网络环境工具的项目,而 V2Ray 属于最核心的一个。 官方中介绍Project V 提供了单一的内核和多种界面操作方式。内核(V2Ray)用于实际的网络交互、路由等针对网络数据的处理,而外围的用户界面程序提供了方便直接的操作流程。不过从时间上来说,先有 V2Ray 才有 Project V。 如果还是不理解,那么简单地说,V2Ray 是一个与 Shadowsocks 类似的代理软件,可以用来科学上网(翻墙)学习国外先进科学技术。

V2Ray 用户手册:https://www.v2ray.com

V2Ray 项目地址:https://github.com/v2ray/v2ray-core

1、购买vps

VPS服务器需要选择国外的,我使用的是国际知名的vultr,速度不错、稳定且性价比高。
vultr注册地址:https://www.vultr.com

2、搭建V2Ray服务器

服务端安装要求及CentOS 7以上或者debain8及以上或者Ubuntu12以上
我使用的是vultr的CentOS 7服务器
一键安装脚本:

官方的一键安装脚本

bash <(curl -L -s https://install.direct/go.sh)

第三方的傻瓜式一键安装配置脚本:

bash <(curl -s -L https://233yes.com/v2ray.sh)

3、编辑服务端配置文件

vim /etc/v2ray/config.json

也可以先在本地编辑好,再用ssh客户端上传到VPS中覆盖。

服务端示例配置文件如下:

{
“inbounds”: [
{
“port”: 16823, // 服务器监听端口
“protocol”: “vmess”, // 主传入协议
“settings”: {
“clients”: [
{
“id”: “b831381d-6324-4d53-ad4f-8cda48b30811”, // 用户 ID,客户端与服务器必须相同
“alterId”: 64
}
]
}
}
],
“outbounds”: [
{
“protocol”: “freedom”, // 主传出协议
“settings”: {}
}
]
}

详细的配置方法可参考https://toutyrater.github.io/

4、服务器网络加速

服务器加速方案主要又两种,第一种是付费的锐速,这里是破解版的安装地址,第二种是谷歌的BBR,两种任选一个安装即可。

第一种,锐速的安装

破解版锐速安装一键更换内核脚本(vultr需先执行此脚本)

wget -N –no-check-certificate https://freed.ga/kernel/ruisu.sh && bash ruisu.sh

脚本执行过程中,请勿进行任何操作。待服务器重启后,重新连接安装锐速即可。
锐速安装脚本

wget -N –no-check-certificate https://github.com/91yun/serverspeeder/raw/master/serverspeeder.sh && bash serverspeeder.sh

若提示:The name of network interface is not eth0, please retry after changing the name.请使用备用脚本备用脚本:

wget -N –no-check-certificate https://raw.githubusercontent.com/91yun/serverspeeder/master/serverspeeder-all.sh && bash serverspeeder-all.sh

第二种,谷歌的BBR的安装

使用root用户登录,运行以下命令:

wget –no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
chmod +x bbr.sh
./bbr.sh

安装完成后,脚本会提示需要重启 VPS,输入 y 并回车后重启。
重启完成后,进入 VPS,验证一下是否成功安装最新内核并开启 TCP BBR,输入以下命令:

uname -r

查看内核版本,能看到版本号 就表示 OK 了

输入:

sysctl net.ipv4.tcp_available_congestion_control

返回值一般为:

net.ipv4.tcp_available_congestion_control = bbr cubic reno

输入

sysctl net.ipv4.tcp_congestion_control

返回值为

net.ipv4.tcp_congestion_control = bbr

输入:

sysctl net.core.default_qdisc

返回值一般为:

net.core.default_qdisc = fq

输入:

lsmod | grep bbr

返回值有:

tcp_bbr

即说明bbr已启动。

不建议锐速和BBR同时安装

4、客户端下载

windows

下载 V2RayN:
下载链接:https://github.com/2dust/v2rayN/releases
然后选择 v2rayN-Core.zip 下载
这里是本地下载:v2rayN-Core.zip

MAC
下载 V2RayX
下载链接: https://github.com/insisttech/v2rayX-copy/releases
选择 V2RayX.app.zip 下载,下载好了之后 ,解压,将 V2RayX.app 复制到 程序 文件夹。

这里是本地下载:V2RayX.app-1.2.0

中文版:V2RayX-121-0627

安卓手机
下载 V2RayNG
在 Google Play 下载: https://play.google.com/store/apps/details?id=com.v2ray.ang
或者在 Github 下载 : https://github.com/2dust/v2rayNG/releases
选择 app-universal-release.apk 下载

这里是本地下载:  V2RayNG V0.5.9.apk 

Linux 下压缩与解压.zip和.rar

1)对于.zip

linux下提供了zip和unzip程序,zip是压缩程序,unzip是解压程序。它们的参数选项很多,可用命令zip -help和unzip -help查看,这里只做简单介绍,举例说明一下其用法:

zip test.zip test.jpg test.png

这条命令是将test.jpg和test.png压缩成一个zip包

zip test.zip *.jpg

这条命令是将所有.jpg的文件压缩成一个zip包

zip -r test.zip test

这条命令是将文件夹test压缩成一个zip包

unzip test.zip

这条命令是将test.zip中的所有文件解压出来

 把/home目录下面的mydata目录压缩为mydata.zip
 # zip -r mydata.zip mydata #压缩mydata目录
 把/home目录下面的mydata.zip解压到mydatabak目录里面
 # unzip mydata.zip -d mydatabak

2)对于.rar

安装: sudo apt-get install rar unrar

或者可从http://www.rarsoft.com/download.htm下载 RAR for Linux 编译安装

tar -xzpvf rarlinux-3.8.0.tar.gz

cd rar

make

这样就安装好了,安装之后就有了rar和unrar这两个程序,rar是压缩程序,unrar是解压程序。它们的参数选项很多,可用命令rar -help和unrar -help查看,这里亦简单举例说明一下其用法:

rar a test.rar test.jpg test.png

这条命令是将test.jpg和test.png压缩成一个rar包

rar a test.rar *.jpg

这条命令是将所有.jpg的文件压缩成一个rar包

rar a test.rar test

这条命令是将文件夹test压缩成一个rar包

unrar e test.rar

这条命令是将test.rar中的所有文件解压出来

es cat order by shopid

{
“size”: 0,
“query”: {
“match_phrase”: {
“rootCategoryId”: “1512”
}
},”aggs”: {
“timeStamp”: {
“terms”: {
“field”: “timeStamp”,
“size”: 24
}
,”aggs”: {
“categoryId”: {
“terms”: {
“field”: “categoryId”,
“size”: 100
},”aggs”: {
“brandValueId”: {
“terms”: {
“field”: “brandValueId”,
“size”: 1000
},”aggs”: {
“shopId”: {
“terms”: {
“field”: “shopId”,
“size”: 1000,
“order”: {
“sum_sell”: “desc”
}
},”aggs”: {
“sum_sell”: {
“sum”: {
“field”: “sellCount”
}
},
“sum_sale”:{
“sum”: {
“field”: “salesAmount”
}
}
}
}
}
}
}
}}}}}