スパーク・テーブルを照会して、A以外の文字を含む 'ref' T、G、CまたはNのいずれかを含むことができます。Spark SQL:列の値は、A、T、G、CまたはNの組み合わせでしかない可能性があります
有効な結果には、これらの文字のみを含める必要があり、任意の長さまたはこれらの文字の組み合わせを含めることができます。例えば
:
有効= AA、等ATTTGGGGCCCC、C、G、TTG、N、
無効= P、NULL
次のクエリは、単一の列を返しています。ヌクレオチドのみ:
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
次のクエリは、インパラSQLで動作しますが、スパークではない、ともかなり醜いです:
SELECT regexp_replace(regexp_replace(regexp_replace(regexp_replace(regexp_replace(ref, 'A', ''), 'T', ''), 'G', ''), 'C', ''), 'N', '')
from spark_df