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

泰州做网站 泰公网络科技公司常用的搜索引擎网站

泰州做网站 泰公网络科技公司,常用的搜索引擎网站,如何建立自己的电商平台,河南智能网站建设平台目录 ​编辑 一、内置运算符 1.1 关系运算符 1.2算术运算符 1.3逻辑运算符 1.4复杂类型函数 1.5对复杂类型函数操作 二、内置函数 2.1数学函数 2.2收集函数 2.3类型转换函数 2.4日期函数 2.5条件函数 2.6字符函数 三、内置的聚合函数 四、内置表生成函数 五、… 目录 ​编辑 一、内置运算符 1.1 关系运算符 1.2算术运算符 1.3逻辑运算符 1.4复杂类型函数 1.5对复杂类型函数操作 二、内置函数 2.1数学函数 2.2收集函数 2.3类型转换函数 2.4日期函数 2.5条件函数 2.6字符函数 三、内置的聚合函数 四、内置表生成函数 五、自定义函数 5.1 自定义函数分类 5.2 自定义函数开发 5.2.1 开发UDF函数 5.2.1.1 开发流程步骤 5.2.1.1.1 继承Hive提供的类 5.2.1.1.2 实现类中的抽象方法 5.2.1.1.3 将jar包上传到虚拟机中 5.2.1.1.4 将jar包上传到hdfs集群中 5.2.1.2 实现UDF函数 5.2.1.2.1 创建Maven工程导入依赖 5.2.1.2.2 创建函数类实现GenericUDF类 5.2.1.2.3 函数的使用 5.2.1.2.3.1 临时函数 5.2.1.2.3.2 永久函数 5.2.2 开发UDTF函数 5.2.2.1 开发流程 5.2.2.2 实现UDTF函数 5.2.2.2.1 创建Mvaen工程导入依 5.2.2.2.2 创建函数类实现GenericUDTF类 5.2.2.2.3 函数的使用 一、内置运算符 1.1 关系运算符 运算符类型说明A B所有原始类型如果A与B相等,返回TRUE,否则返回FALSEA B无失败因为无效的语法。 SQL使用””不使用””A B所有原始类型如果A不等于B返回TRUE,否则返回FALSE。如果A或B值为”NULL”结果返回”NULL”。A B所有原始类型如果A小于B返回TRUE,否则返回FALSE。如果A或B值为”NULL”结果返回”NULL”。A B所有原始类型如果A小于等于B返回TRUE,否则返回FALSE。如果A或B值为”NULL”结果返回”NULL”。A B所有原始类型如果A大于B返回TRUE,否则返回FALSE。如果A或B值为”NULL”结果返回”NULL”。A B所有原始类型如果A大于等于B返回TRUE,否则返回FALSE。如果A或B值为”NULL”结果返回”NULL”A IS NULL所有类型如果A值为”NULL”返回TRUE,否则返回FALSEA IS NOT NULL所有类型如果A值不为”NULL”返回TRUE,否则返回FALSEA LIKE B字符串如 果A或B值为”NULL”结果返回”NULL”。字符串A与B通过sql进行匹配如果相符返回TRUE不符返回FALSE。B字符串中 的”_”代表任一字符”%”则代表多个任意字符。例如 (‘foobar’ like ‘foo’)返回FALSE ‘foobar’ like ‘foo_ _ _’或者 ‘foobar’ like ‘foo%’)则返回TUREA RLIKE B字符串如 果A或B值为”NULL”结果返回”NULL”。字符串A与B通过java进行匹配如果相符返回TRUE不符返回FALSE。例如 ‘foobar’ rlike ‘foo’返回FALSE’foobarA REGEXP B字符串与RLIKE相同。 1.2算术运算符 运算符类型说明A B所有数字类型A和B相加。结果的与操作数值有共同类型。例如每一个整数是一个浮点数浮点数包含整数。所以一个浮点数和一个整数相加结果也是一个浮点数。A – B所有数字类型A和B相减。结果的与操作数值有共同类型。A * B所有数字类型A和B相乘结果的与操作数值有共同类型。需要说明的是如果乘法造成溢出将选择更高的类型。A / B所有数字类型A和B相除结果是一个double双精度类型的结果。A % B所有数字类型A除以B余数与操作数值有共同类型。A B所有数字类型运算符查看两个参数的二进制表示法的值并执行按位”与”操作。两个表达式的一位均为1时则结果的该位为 1。否则结果的该位为 0。A\|B所有数字类型运算符查看两个参数的二进制表示法的值并执行按位”或”操作。只要任一表达式的一位为 1则结果的该位为 1。否则结果的该位为 0。A ^ B所有数字类型运算符查看两个参数的二进制表示法的值并执行按位”异或”操作。当且仅当只有一个表达式的某位上为 1 时结果的该位才为 1。否则结果的该位为 0。 1.3逻辑运算符 运算符类型说明A AND B布尔值A和B同时正确时,返回TRUE,否则FALSE。如果A或B值为NULL返回NULL。A B布尔值与”A AND B”相同A OR B布尔值A或B正确,或两者同时正确返返回TRUE,否则FALSE。如果A和B值同时为NULL返回NULL。A\| B布尔值与”A OR B”相同NOT A布尔值如果A为NULL或错误的时候返回TURE否则返回FALSE。! A布尔值与”NOT A”相同 1.4复杂类型函数 函数类型说明map(key1, value1, key2, value2, …)通过指定的键/值对创建一个map。struct(val1, val2, val3, …)通过指定的字段值创建一个结构。结构字段名称将COL1COL2…array(val1, val2, …)通过指定的元素创建一个数组。 1.5对复杂类型函数操作 函数类型说明A[n]A是一个数组n为int型返回数组A的第n个元素第一个元素的索引为0。如果A数组为[foo,bar]则A[0]返回’foo’和A[1]返回”bar”。M[key]M是MapK, V关键K型返回关键值对应的值例如mapM为\{‘f’ - ‘foo’, ‘b’ - ‘bar’, ‘all’ - ‘foobar’\}则M[all] 返回’foobar’。S.xS为struct返回结构x字符串在结构S中的存储位置。如 foobar\{int foo, int bar\} foobar.foo的领域中存储的整数。 二、内置函数 2.1数学函数 函数返回类型说明Tround(double a)BIGIN四舍五入round(double a, int d)DOUBLE小数部分d位之后数字四舍五入例如round(21.263,2),返回21.26floor(double a)BIGINT对给定数据进行向下舍入最接近的整数。例如floor(21.2),返回21。ceil(double a), ceiling(double a)BIGINT将参数向上舍入为最接近的整数。例如ceil(21.2),返回23.rand(), rand(int seed)double返回大于或等于0且小于1的平均分布随机数依重新计算而变exp(double a)double返回e的n次方ln(double a)double返回给定数值的自然对数log10(double a)double返回给定数值的以10为底自然对数log2(double a)double返回给定数值的以2为底自然对数log(double base, double a)double返回给定底数及指数返回自然对数pow(double a, double p) power(double a, double p)double返回某数的乘幂sqrt(double a)double返回数值的平方根bin(BIGINT a)string返回二进制格式hex(BIGINT a) hex(string a)string将整数或字符转换为十六进制格式unhex(string a)string十六进制字符转换由数字表示的字符。conv(BIGINT num, int from_base, int to_base)string将 指定数值由原来的度量体系转换为指定的数值体系。例如CONV(‘a’,16,2),返回。abs(double a)double取绝对值pmod(int a, int b), pmod(double a, double b) int, double 返回a除b的余数的绝对值sin(double a)double返回给定角度的正弦值asin(double a)double返回x的反正弦即是X。如果X是在-1到1的正弦值返回NULL。cos(double a)double返回余弦acos(double a)double返回X的反余弦即余弦是X如果-1 A 1否则返回null.positive(int a), positive(double a) int, double 返回A的值例如positive(2)返回2。negative(int a) negative(double a) int double 返回A的相反数例如negative(2),返回-2。 2.2收集函数 函数返回类型说明size(MapK.V)int返回的map类型的元素的数量size(ArrayT)int返回数组类型的元素数量 2.3类型转换函数 函数返回类型说明cast(expr astype)指定 “type”类型转换。例如将字符”1″转换为整数:cast(’1′ as bigint)如果转换失败返回NULL。 2.4日期函数 函数返回类型说明from_unixtime(bigint unixtime[, string format])stringUNIX_TIMESTAMP参数表示返回一个值’YYYY- MM – DD HHMMSS’或YYYYMMDDHHMMSS.uuuuuu格式这取决于是否是在一个字符串或数字语境中使用的功能。该值表示在当前的时区。unix_timestamp()bigint如果不带参数的调用返回一个Unix时间戳从’1970- 01 – 0100:00:00′到现在的UTC秒数为无符号整数。unix_timestamp(string date)bigint指定日期参数调用UNIX_TIMESTAMP它返回参数值’1970- 01 – 0100:00:00′到指定日期的秒数。unix_timestamp(string date, string pattern)bigint指定时间输入格式返回到1970年秒数unix_timestamp(’2009-03-20′, ‘yyyy-MM-dd’) 1237532400to_date(string timestamp)string返回时间中的年月日 to_date(“1970-01-01 00:00:00″) “1970-01-01″to_dates(string date)string给定一个日期date返回一个天数0年以来的天数year(string date)int返回指定时间的年份范围在1000到9999或为”零”日期的0。month(string date)int返回指定时间的月份范围为1至12月或0一个月的一部分如’0000-00-00′或’2008-00-00′的日期。day(string date) dayofmonth(date)int返回指定时间的日期hour(string date)int返回指定时间的小时范围为0到23。minute(string date)int返回指定时间的分钟范围为0到59。second(string date)int返回指定时间的秒范围为0到59。weekofyear(string date)int返回指定日期所在一年中的星期号范围为0到53。datediff(string enddate, string startdate)int两个时间参数的日期之差。date_add(string startdate, int days)int给定时间在此基础上加上指定的时间段。date_sub(string startdate, int days)int给定时间在此基础上减去指定的时间段。 2.5条件函数 函数返回类型说明if(boolean testCondition, T valueTrue, T valueFalseOrNull)T判断是否满足条件如果满足返回一个值如果不满足则返回另一个值。COALESCE(T v1, T v2, …)T返回一组数据中第一个不为NULL的值如果均为NULL,返回NULL。CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] ENDT当ab时,返回c当ad时返回e否则返回f。CASE WHEN a THEN b [WHEN c THEN d]* [ELSE e] ENDT当值为a时返回b,当值为c时返回d。否则返回e。 2.6字符函数 函数返回类型说明length(string A)int返回字符串的长度reverse(string A)string返回倒序字符串concat(string A, string B…)string连接多个字符串合并为一个字符串可以接受任意数量的输入字符串concat_ws(string SEP, string A, string B…)string链接多个字符串字符串之间以指定的分隔符分开。substr(string A, int start) substring(string A, int start)string从文本字符串中指定的起始位置后的字符。substr(string A, int start, int len) substring(string A, int start, int len)string从文本字符串中指定的位置指定长度的字符。upper(string A) ucase(string A)string将文本字符串转换成字母全部大写形式lower(string A) lcase(string A)string将文本字符串转换成字母全部小写形式trim(string A)string删除字符串两端的空格字符之间的空格保留ltrim(string A)string删除字符串左边的空格其他的空格保留rtrim(string A)string删除字符串右边的空格其他的空格保regexp_replace(string A, string B, string C)string字符串A中的B字符被C字符替代regexp_extract(string subject, string pattern, int index)string通过下标返回正则表达式指定的部分。regexp_extract(‘foothebar’, ‘foo(.*?)(bar)’, 2) returns ‘bar.’parse_url(string urlString, string partToExtract [, string keyToExtract])string返回URL指定的部分。parse_url(‘http://facebook.com/path1/p.php?k1v1k2v2#Ref1′, ‘HOST’) 返回’facebook.com’get_json_object(string json_string, string path)stringselect a.timestamp, get_json_object(a.appevents, ‘$.eventid’), get_json_object(a.appenvets, ‘$.eventname’) from log a;space(int n)string返回指定数量的空格repeat(string str, int n)string重复N次字符串ascii(string str)int返回字符串中首字符的数字值lpad(string str, int len, string pad)string返回指定长度的字符串给定字符串长度小于指定长度时由指定字符从左侧填补。rpad(string str, int len, string pad)string返回指定长度的字符串给定字符串长度小于指定长度时由指定字符从右侧填补。split(string str, string pat)array将字符串转换为数组。find_in_set(string str, string strList)int返回字符串str第一次在strlist出现的位置。如果任一参数为NULL,返回NULL如果第一个参数包含逗号返回0。sentences(string str, string lang, string locale)arrayarraystring将字符串中内容按语句分组每个单词间以逗号分隔最后返回数组。 例如sentences(‘Hello there! How are you?’) 返回( (“Hello”, “there”), (“How”, “are”, “you”) )ngrams(arrayarraystring, int N, int K, int pf)arraystructstring,doubleSELECT ngrams(sentences(lower(tweet)), 2, 100 [, 1000]) FROM twitter;context_ngrams(arrayarraystring, arraystring, int K, int pf)arraystructstring,doubleSELECT context_ngrams(sentences(lower(tweet)), array(null,null), 100, [, 1000]) FROM twitter; 三、内置的聚合函数 函数返回类型说明count(*) , count(expr), count(DISTINCT expr[, expr_., expr_.])bigint返回记录条数。sum(col), sum(DISTINCT col)double求和avg(col), avg(DISTINCT col)double求平均值min(col)double返回指定列中最小值max(col)double返回指定列中最大值var_pop(col)double返回指定列的方差var_samp(col)double返回指定列的样本方差stddev_pop(col)double返回指定列的偏差stddev_samp(col)double返回指定列的样本偏差covar_pop(col1, col2)double两列数值协方差covar_samp(col1, col2)double两列数值样本协方差corr(col1, col2)double返回两列数值的相关系数percentile(col, p)double返回数值区域的百分比数值点。0P1,否则返回NULL,不支持浮点型数值。percentile(col, array(p~1,,\ [, p,,2,,]…))arraydouble返回数值区域的一组百分比值分别对应的数值点。0P1,否则返回NULL,不支持浮点型数值。percentile_approx(col, p[, B])doubleReturns an approximate p^th^ percentile of a numeric column (including floating point types) in the group. The B parameter controls approximation accuracy at the cost of memory. Higher values yield better approximations, and the default is 10,000. When the number of distinct values in col is smaller than B, this gives an exact percentile value.percentile_approx(col, array(p~1,, [, p,,2_]…) [, B])arraydoubleSame as above, but accepts and returns an array of percentile values instead of a single one.histogram_numeric(col, b)arraystruct\{‘x’,y’\}Computes a histogram of a numeric column in the group using b non-uniformly spaced bins. The output is an array of size b of double-valued (x,y) coordinates that represent the bin centers and heightscollect_set(col)array返回无重复记录 四、内置表生成函数 函数返回类型说明explode(arrayTYPE a)数组数组一条记录中有多个参数将参数拆分每个参数生成一列。 五、自定义函数 5.1 自定义函数分类 自定义函数包括三种UDF、UDAF、UDTF UDF(User-Defined-Function) 一进一出 UDAF(User- Defined Aggregation Funcation) 用户自定义聚合函数多进一出。Count/max/min UDTF(User-Defined Table-Generating Functions) :用户自定义表生成函数一进多出如explore() 聚合函数 UDAF 能够满足我们使用的基本都已经内置了本文就重点介绍一下UDF和UDTF函数的实现。 5.2 自定义函数开发 5.2.1 开发UDF函数 5.2.1.1 开发流程步骤 5.2.1.1.1 继承Hive提供的类 org.apache.hadoop.hive.ql.udf.generic.GenericUDF; 5.2.1.1.2 实现类中的抽象方法 public ObjectInspector initialize(ObjectInspector[] arguments) throws UDFArgumentException {}public Object evaluate(DeferredObject[] arguments) throws HiveException {}public String getDisplayString(String[] children) {} 5.2.1.1.3 将jar包上传到虚拟机中 a把程序打包放到目标机器上去 b进入hive客户端添加jar包hiveadd jar /run/jar/udf_test.jar; c创建临时函数hiveCREATE TEMPORARY FUNCTION add_example AS hive.udf.Add; d查询HQL语句 SELECT add_example(xx, xx) FROM scores; e销毁临时函数hive DROP TEMPORARY FUNCTION add_example; 注意此种方式创建的函数属于临时函数当关闭了当前会话之后函数会无法使用因为jar的引用没有了无法找到对应的java文件进行处理因此不推荐使用。 5.2.1.1.4 将jar包上传到hdfs集群中 a把程序打包上传到hdfs的某个目录下 b创建函数hiveCREATE FUNCTION add_example AS hive.udf.Add using jar hdfs://mycluster/jar/udf_test.jar; d查询HQL语句 SELECT add_example(xx, xx) FROM scores; e销毁临时函数hive DROP  FUNCTION add_example; 5.2.1.2 实现UDF函数 自定义一个UDF实现计算给定基本数据类型的长度例如 select my_len(abcd); 5.2.1.2.1 创建Maven工程导入依赖 dependenciesdependencygroupIdorg.apache.hive/groupId、artifactIdhive-exec/artifactIdversion3.1.3/version/dependency/dependencies 5.2.1.2.2 创建函数类实现GenericUDF类 package com.atguigu;import org.apache.hadoop.hive.ql.exec.UDFArgumentException;import org.apache.hadoop.hive.ql.exec.UDFArgumentTypeException;import org.apache.hadoop.hive.ql.metadata.HiveException;import org.apache.hadoop.hive.ql.udf.generic.GenericUDF;import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;public class LengthUDFTest extends GenericUDF {//initialize方法全局执行一次(一般做一些校验)Overridepublic ObjectInspector initialize(ObjectInspector[] arguments) throws UDFArgumentException {// 判断输入参数的个数if (arguments.length ! 1) {throw new UDFArgumentException(输入参数长度异常,只允许输入1个参数);}// 判断输入参数的类型(是否是基本类型)// Category 共定义了5种类型基本类型(Primitive)集合(List)键值对映射(Map)结构体(Struct)联合体(Union)if(!arguments[0].getCategory().equals(ObjectInspector.Category.PRIMITIVE)){throw new UDFArgumentTypeException(0,输入参数类型异常);}// 函数本身返回值为 int需要返回 int 类型的鉴别器对象return PrimitiveObjectInspectorFactory.javaIntObjectInspector;}//evaluate方法函数的逻辑处理方法进来一条执行一次Overridepublic Object evaluate(DeferredObject[] arguments) throws HiveException {if (arguments[0].get() null) {return 0;} else {return arguments[0].get().toString().length();}}//getDisplayString 方法在使用explain 查看SQL执行计划时会显示(一般直接返回null即可)Overridepublic String getDisplayString(String[] strings) {return null;}} 5.2.1.2.3 函数的使用 5.2.1.2.3.1 临时函数 1打成jar包上传到服务器/hive/datas/myudf.jar。 2将jar包添加到hive的classpath临时生效。 add jar /hive/datas/myudf.jar; 3创建临时函数与开发好的java class关联。 create temporary function my_len as com.atguigu.LengthUDFTest; 4即可在hql中使用自定义的临时函数 select ename, my_len(ename) ename_lenfrom emp; 5删除临时函数 drop temporary function my_len; 提示临时函数只跟会话有关系跟库没有关系。只要创建临时函数的会话不断在当前会话下任意一个库都可以使用其他会话全都不能使用。 5.2.1.2.3.2 永久函数 1创建永久函数 create function my_len2 as hive.udf.MyUDF using jar hdfs://hadoop:8020/udf/myudf.jar; 提示 因为add jar本身也是临时生效所以在创建永久函数的时候需要制定路径并且因为元数据的原因这个路径还得是HDFS上的路径。 2即可在hql中使用自定义的永久函数。 select ename, my_len2(ename) ename_lenfrom emp; 3删除永久函数 drop function my_len2; 提示 永久函数跟会话没有关系创建函数的会话断了以后其他会话也可以使用。 永久函数创建的时候在函数名之前需要自己加上库名如果不指定库名的话会默认把当前库的库名给加上。 永久函数使用的时候需要在指定的库里面操作或者在其他库里面使用的话加上库名.函数名。 5.2.2 开发UDTF函数 5.2.2.1 开发流程 和开发UDF函数流程差不多不同的是需要继承 org.apache.hadoop.hive.ql.udf.generic.GenericUDTF; 同时需要实现的方法为 Overridepublic StructObjectInspector initialize(StructObjectInspector argOIs) throws UDFArgumentException {}public void process(Object[] args) throws HiveException {}public void close() throws HiveException {} 5.2.2.2 实现UDTF函数 5.2.2.2.1 创建Mvaen工程导入依 dependenciesdependencygroupIdorg.apache.hive/groupId、artifactIdhive-exec/artifactIdversion3.1.3/version/dependency/dependencies 5.2.2.2.2 创建函数类实现GenericUDTF类 package com.atguigu;import org.apache.hadoop.hive.ql.exec.UDFArgumentException;import org.apache.hadoop.hive.ql.exec.UDFArgumentTypeException;import org.apache.hadoop.hive.ql.metadata.HiveException;import org.apache.hadoop.hive.ql.udf.generic.GenericUDF;import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory; public class SplitUDTFTest extends GenericUDF {//initialize方法全局执行一次(一般做一些校验)Overridepublic ObjectInspector initialize(ObjectInspector[] arguments) throws UDFArgumentException {// 判断输入参数的个数if (arguments.length ! 1) {throw new UDFArgumentException(输入参数长度异常,只允许输入1个参数);}// 判断输入参数的类型(是否是基本类型)// Category 共定义了5种类型基本类型(Primitive)集合(List)键值对映射(Map)结构体(Struct)联合体(Union)if(!arguments[0].getCategory().equals(ObjectInspector.Category.PRIMITIVE)){throw new UDFArgumentTypeException(0,输入参数类型异常);}// 函数本身返回值为 int需要返回 int 类型的鉴别器对象return PrimitiveObjectInspectorFactory.javaIntObjectInspector;}//evaluate方法函数的逻辑处理方法进来一条执行一次Overridepublic Object evaluate(DeferredObject[] arguments) throws HiveException {if (arguments[0].get() null) {return 0;} else {return arguments[0].get().toString().length();}}//getDisplayString 方法在使用explain 查看SQL执行计划时会显示(一般直接返回null即可)Overridepublic String getDisplayString(String[] strings) {return null;}} 5.2.2.2.3 函数的使用 和UDF函数的使用一致也分临时函数和永久函数具体可参考UDF函数的使用这里不做重复说明。 好了今天Hive函数的相关内容就分享到这里如果帮助到大家欢迎大家点赞关注收藏有疑问也欢迎大家评论留言
http://www.tj-hxxt.cn/news/132545.html

相关文章:

  • 教育公司网站模板drupal joomla wordpress
  • 网站 自适应jsWordPress添加工单功能
  • 淘宝建站程序宁波网络营销策划哪家公司好
  • 简单个人博客模板网站织梦网站
  • wordpress项目管理插件网站关键词优化排名外包
  • 建外贸网站有效果吗html5网页制作作业
  • 6入空间网站免费观看长春财经学院多大
  • 手工建站与模板网站的区别在线制作网站的平台
  • 个人做跨境电商的平台网站有哪些网站主题定位
  • 下列哪个网站不属于sns(社交网络)深圳网站设计收费标准
  • 北京人才招聘网站elgg与wordpress对比
  • 传奇网站怎么制作教程网站开发 策划是干嘛的
  • 网站建设 加盟网站建设需要怎么做
  • 注册服务器网站哪个好phpcms做装修网站
  • 怎样给网站做优化中国建筑集团有限公司排名
  • jsp mysql 网站开发百度收录网站要多久
  • 用php做的网站模版采集网站开发
  • 劳务 东莞网站建设网站建设 苏州
  • 制作网站需要哪些素材营销型网站制作多少钱
  • 网站seo排名优化方法域名注册多少钱
  • 曲靖网站推广做哪方面的网站好呢
  • 罗湖商城网站设计0735郴州招聘信息网
  • 更新网站内容有什么用互联网站备案表
  • 自己可以建设网站吗微信扫码即可打开的网站如何做
  • 免费刷粉网站推广设计公司展厅装修
  • 网站建设微信公众号广告片拍摄制作公司
  • 建设一个下载资料的网站企业网站模板 首页大图
  • 专业网站设计公司个人简历word可编辑免费
  • 网站含中国的备案小程序商城推广哪家好
  • 官网网站搭建需要多少钱网站被墙查询