我试图通过一次或多次出现的字母来分割字符串.
例如:
aaabbcapppp
,会产生阵列, ["aaa", "bb", "c", "a", "pppp"]
我所拥有的最低效的想法就是利用newArray = str.split("");
并重建阵列以满足我的需求.我认为有一个更有效的解决方案.
我有两个具有相似字段的表,但是当我SELECT
在WHERE
子句中执行子查询时查询失败.
SELECT foo
FROM bar
WHERE fizz IN (SELECT fizz FROM fuzz)
Run Code Online (Sandbox Code Playgroud)
我error.log
从AWS中删除了,但错误是HIVE无法识别的程度SELECT
.
我如何重新构建此查询?
谢谢.
我有以下运算符,如下所示。我能够直观地看到图形表示看起来是正确的。但是,我无法使该功能正常工作,因为路径中的路径不会继续经过任何一个分支。无论日期如何,两条路径都不会继续前往task_05。
DAG 有两 (2) 条路径:
(1)如果是月初,task_01->test_step->task_02->task_05->task_06
(2)如果不是月初,task_01->test_step->task_03->task_04->task_05->task_06
问题:该功能无法使 DAG 始终完成任务_06。
假设问题出在我使用按位运算符的方式上。
代码
from airflow.operators.python_operator import BranchPythonOperator
from airflow.operators.dummy_operator import DummyOperator
from datetime import datetime, timedelta
from airflow.models import DAG
default_args = {
'owner': 'astro',
'depends_on_past': False,
'start_date': datetime(2020, 5, 1),
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5),
}
dag = DAG(
dag_id='astro_test',
default_args=default_args,
schedule_interval="0 10 * * *",
catchup=True,
max_active_runs=1
)
def dom_branch(ds_nodash, **kwargs):
if ds_nodash[-2:] == '01':
return "task_02"
else:
return "task_03"
with dag:
one = DummyOperator(task_id='task_01')
two …
Run Code Online (Sandbox Code Playgroud) 尝试找到正确的 Regex 表达式以匹配(2 或 3)位数字后跟连字符后跟(9、10 或 11)位数字。
总之,字符串有六 (6) 个潜在的排列。
##-######### (2-9)
##-########## (2-10)
##-########### (2-11)
###-######### (3-9)
###-########## (3-10)
###-########### (3-11)
Run Code Online (Sandbox Code Playgroud)