Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spark SQL:列值只能是a、T、G、C或N的组合_Sql_Apache Spark Sql_Pyspark Sql - Fatal编程技术网

Spark SQL:列值只能是a、T、G、C或N的组合

Spark SQL:列值只能是a、T、G、C或N的组合,sql,apache-spark-sql,pyspark-sql,Sql,Apache Spark Sql,Pyspark Sql,我试图查询spark表,以查找“ref”列中包含非a、T、G、C或N字母的所有行 有效结果应仅包含这些字母,并且可以包含这些字母的任意长度或组合 例如: 有效=AA、ATTTGGGCCCC、C、G、TTG、N等 无效=p,,,空 以下查询仅返回包含单个核苷酸的列: SELECT ref from test_set where ref not in ('*A*', '*T*', '*G*', '*C*', '*N*') ref 1 T 2 C 3 T 4 C 5 T 以下查

我试图查询spark表,以查找“ref”列中包含非a、T、G、C或N字母的所有行

有效结果应仅包含这些字母,并且可以包含这些字母的任意长度或组合

例如:

有效=AA、ATTTGGGCCCC、C、G、TTG、N等

无效=p,,,空

以下查询仅返回包含单个核苷酸的列:

SELECT ref
from test_set
where ref not in ('*A*', '*T*', '*G*', '*C*', '*N*')

ref
1   T
2   C
3   T
4   C
5   T
以下查询在impala sql中工作,但不是spark,而且非常难看:

SELECT regexp_replace(regexp_replace(regexp_replace(regexp_replace(regexp_replace(ref, 'A', ''), 'T', ''), 'G', ''), 'C', ''), 'N', '')
    from spark_df

如果不想使用regexp_extract,可通过执行以下操作获得相同的结果:

SELECT ref
from test_set
where not (
            ref like '*A*' or
            ref like '*T*' or
            ref like '*C*' or
            ref like '*G*' or
            ref like '*N*'
          )

如果不想使用regexp_extract,可通过执行以下操作获得相同的结果:

SELECT ref
from test_set
where not (
            ref like '*A*' or
            ref like '*T*' or
            ref like '*C*' or
            ref like '*G*' or
            ref like '*N*'
          )

好的。。我想出来了:

SELECT regexp_extract(ref, 'ATGCN', 0)
from test_set


好的。。我想出来了:

SELECT regexp_extract(ref, 'ATGCN', 0)
from test_set