很厉害呀!可是 30[k] 呢 ,测试不通过。还得优化一下
你的思路还是不错的,但是字母压缩还有一种情况:m3[k] 2[am] 。这种情况还需要优化考虑一下
比我的强
mappings 就是 es 存储数据的文档结构,相当于数据库的表结构,关于 mappings 怎么填写获取,我注释里面有写。properties 就是文档内容,这里怎么填写要看你自己的文档内容了,我这里提供了方式方法,但是不包教学。我觉得这些基本的 es 知识多去 baidu,Google 学习一下,那上面的内容比我在这里说的专业详细。
有引用呀
,导入哪里就填哪里的
导入步骤就是在测试环境创建 index,再创建 mapping,再解析已经导出的文件,构造数据,导入到新环境,就是这样,都有注释的,具体哪里不懂?
你看下,这里是否有两个 hits。
调整一下代码:
数据量大的时候是比较慢,百万级别内还是可以用的
年会,应该要多一个操作,就是已中奖的要去掉,不能重复中奖。
notepad++ 复制过来的
我什么时候成大佬了?你认识我吗?
由于大数据的源来自各个业务系统,各个业务系统的数据质量是不可控,所以在数据处理过程中,怎么保证最终数据质量,是个难点。怎么验证保证 etl 过程正确性和最优性,这需要对各个业务系统要有相应的了解程度。总而言之,不过什么测试最终要熟悉还是业务!
依我个人经历来说吧。数据库方面的基础知识,数据仓库的理念,Hadoop 分布式系统架构,还有就是相关的 spark、hive、hue 。差不多就是这些吧。
闲着做了下,代码奉上,没有多想。
#coding=utf-8
import re
str1=open('./xxx.csv',encoding='utf-8').read() #读出文件
reword={'今天','天气','真赞'} #列出要匹配文字
setreword={} #初始化计数统计字典
for word in reword: #基数统计
count=0
for i in re.finditer(word,str1): #全文匹配计数
count=count+1
setreword[word]=count #设置字典
serewordorder=sorted(setreword.items(),key=lambda x:x[1]) #字典排序
print(setreword) #打印结果
str1.close()
你想埋我一个彩蛋给我,我踩到的是一颗炸弹。。。
fake 在伪造数据方面确实很强大,但是 fake 也是缺陷,伪造的数据字段之间并不具有很强的关联性,仔细研究一下就会发现 fake 伪造出来的性别和身份证本身给出性别存在差异,倒数第二位是性别校验位,偶数是女性(F),奇数是男性(M)。地址信息和身份证区域代码对应的地址信息也存在差异。我在造轮子的时候并不知道还有 fake 这么强大的库的存在,但是造完轮子之后,对这个轮子的认知提升了很多,也认识 fake 这个已经存在的轮子的不完美。
嗯,faker 确实便捷很多,也学习了。但是要获取身份证上对应正确的区域名称和性别的话,就需要对生成的身份证号再做处理了,因为 faker 生成身份证号的时候,并没有告诉你这个身份证号对应是哪里的和性别。
嗯,第 18 位位是检验码,第 17 位是性别校验。我这里生成 15、16、17 位是从 100 到 999 之间随机取数的生成的,然后拼接区域码和出生日期,按照规则生成第 18 位的检验码,也就是你说的公式。
嗯 不过我那个输出 print(rank4(key)) 就是列出当前密码组合,输出 print(len(rank4(key))) 就是当前密码组合有多少种。
那你看看 30 楼的实现吧,我认为我这个答案是满足你的需要的。
如果不做限制的话,那这题那就是简单的取几个数排列组合,再去重就是了。不过做题之前是应该向出题者弄清楚规则需求。
我理解的九宫格规则是:数字只能连相邻的数字,且不能出现重复。如果我没理解错的话,那就没有那么复杂吧。我前面也写了一个实现。
# -*- coding: utf-8 -*-
"""
主要实现思路
主要是根据手势密码锁来定义基本操作规则(只能连接临近的数字,不能越过数字进行连接),再运用类比法构造实现(不能出现重复的数字)。
"""
#定义基本规则
key=[[[1,2],[1,4],[1,5]],[[2,1],[2,3],[2,4],[2,5],[2,6]],[[3,2],[3,5],[3,6]],[[4,1],[4,2],[4,5],[4,7],[4,8]],[[5,1],[5,2],[5,3],[5,4],[5,6],[5,7],[5,8],[5,9]],[[6,3],[6,5],[6,8],[6,9],[6,2]],[[7,4],[7,5],[7,8]],[[8,7],[8,9],[8,4],[8,5,],[8,6]],[[9,6],[9,5],[9,8]]]
#1个
def rank1(key):
skey=[]
for i in range(1,10):
skey.append(key[i-1][0][0])
return skey
#2个
def rank2(key):
skey=[]
key1=rank1(key)
for key2 in key1:
for dkey in key[key2-1]:
skey.append(dkey)
return skey
#3个
def rank3(key):
skey=[]
key2=rank2(key)
for dkey in key2:
for key3 in key[dkey[-1]-1]:
tim=[]
if (key3[1] not in dkey) and (len(tim)<3):
for okey in dkey:
tim.append(okey)
tim.append(key3[1])
skey.append(tim)
return skey
#4个
def rank4(key):
skey=[]
key2=rank3(key)
for dkey in key2:
for key3 in key[dkey[-1]-1]:
tim=[]
if (key3[1] not in dkey) and (len(tim)<4):
for okey in dkey:
tim.append(okey)
tim.append(key3[1])
skey.append(tim)
return skey
#5个
def rank5(key):
skey=[]
key2=rank4(key)
for dkey in key2:
for key3 in key[dkey[-1]-1]:
tim=[]
if (key3[1] not in dkey) and (len(tim)<5):
for okey in dkey:
tim.append(okey)
tim.append(key3[1])
skey.append(tim)
return skey
#6个
def rank6(key):
skey=[]
key2=rank5(key)
for dkey in key2:
for key3 in key[dkey[-1]-1]:
tim=[]
if (key3[1] not in dkey) and (len(tim)<5):
for okey in dkey:
tim.append(okey)
tim.append(key3[1])
skey.append(tim)
return skey
#7个
def rank7(key):
skey=[]
key2=rank6(key)
for dkey in key2:
for key3 in key[dkey[-1]-1]:
tim=[]
if (key3[1] not in dkey) and (len(tim)<5):
for okey in dkey:
tim.append(okey)
tim.append(key3[1])
skey.append(tim)
return skey
#8个
def rank8(key):
skey=[]
key2=rank7(key)
for dkey in key2:
for key3 in key[dkey[-1]-1]:
tim=[]
if (key3[1] not in dkey) and (len(tim)<5):
for okey in dkey:
tim.append(okey)
tim.append(key3[1])
skey.append(tim)
return skey
#9个
def rank9(key):
skey=[]
key2=rank8(key)
for dkey in key2:
for key3 in key[dkey[-1]-1]:
tim=[]
if (key3[1] not in dkey) and (len(tim)<5):
for okey in dkey:
tim.append(okey)
tim.append(key3[1])
skey.append(tim)
return skey
print(rank4(key))