小编CCl*_*rke的帖子

R在数据帧中读取时复制大整数

我有一个数据库表,其中一列包含不同的17位数字.当我要求R将该表的一个部分或全部读入数据帧时,它会复制一些值4或5次并删除其他值.结果是,具有17个唯一值的表将以6结尾.这很奇怪.当我使用RODBC连接读取数据或者是否将它们保存到csv并以这种方式加载它时,就会发生这种情况.这绝对是一个R问题,因为我已经用假数据隔离了这个问题:

base_num <- "9600000005206"

# Now create a vector of unique numbers in character format
x <- paste0(base_num, seq(5680, 5760, 1))

x

x
[1] "96000000052065680" "96000000052065681" "96000000052065682" 
"96000000052065683" "96000000052065684" "96000000052065685" 
"96000000052065686"
[8] "96000000052065687" "96000000052065688" "96000000052065689" 
"96000000052065690" "96000000052065691" "96000000052065692" 
"96000000052065693"
[15] "96000000052065694" "96000000052065695" "96000000052065696" 
"96000000052065697" "96000000052065698" "96000000052065699" 
"96000000052065700"

# Convert them to numeric
# ta-da! Duplicate values and dropped values
as.numeric(x)

 [1] 96000000052065680 96000000052065680 96000000052065680 
 96000000052065680 96000000052065680 96000000052065680 96000000052065680
 [8] 96000000052065680 96000000052065696 96000000052065696 
 96000000052065696 96000000052065696 96000000052065696 96000000052065696
 [15] 96000000052065696 96000000052065696 96000000052065696 …
Run Code Online (Sandbox Code Playgroud)

sql precision r type-conversion

4
推荐指数
1
解决办法
105
查看次数

如何导入 2.2.5 版本的 Airflow 运算符?

我刚刚将 Airflow 升级到 2.2.5,但无法使用 EmptyOperator。它应该很简单from airflow.operators.empty import EmptyOperator,但我收到错误ModuleNotFoundError: No module named 'airflow.operators.empty'。我也尝试过:

from airflow.operators import empty
from empty.operators import EmptyOperator
Run Code Online (Sandbox Code Playgroud)

Airflow 存储库本身显示了应该可以工作的结构 from airflow.operators.empty import EmptyOperator,但事实并非如此,所以我对发生的事情感到非常困惑。

airflow google-cloud-composer

3
推荐指数
1
解决办法
3511
查看次数

如何使用Python读取json.gz文件?

编辑:我已经看到了 SA 上关于此问题的所有问题,它们都给了我我在这里询问的错误 - 请您将其保持打开状态以便我可以获得一些帮助吗?

我有一个可以使用 Bash 非常简单地读取的文件,如下所示: gzip -d -c my_file.json.gz | jq . 这确认它是有效的 JSON。但是当我尝试使用 Python 来读取它时,如下所示:

import json
import gzip
with gzip.open('my_file.json.gz') as f:
    data = f.read() # returns a byte string `b'`
json.loads(data)
Run Code Online (Sandbox Code Playgroud)

我收到错误:

json.decoder.JSONDecodeError: Extra data: line 2 column 1 (char 1632)
Run Code Online (Sandbox Code Playgroud)

但我知道它是来自我的 Bash 命令的有效 JSON。我已经被这个看似简单的问题困扰了很长一段时间,并尝试了一切感觉。有人可以帮忙吗?谢谢。

python json gzip

1
推荐指数
1
解决办法
7929
查看次数

如何安排 DAG 并行运行一些任务,然后在任务完成后运行一项任务?

我有几个可以同时运行的任务。当他们完成后,我需要运行最后一个任务。我尝试使用任务分组来做到这一点,如下所示:

import airflow
from airflow.utils.task_group import TaskGroup

with airflow.DAG(
        'my_dag',
        catchup=False,
        default_args=default_args,
        schedule_interval=datetime.timedelta(days=1),
    ) as dag:

    with TaskGroup(group_id='task_group_1') as tg1:

    
        task1 = MyOperator(
            task_id='task1',
            dag=dag,
        )

        task2 = MyOperator(
            task_id='task2',
            dag=dag,
        )
        
        [task1, task2]    
    
    final_task = MyOtherOperator(
        task_id="final_task",
        dag=dag
    )

    tg1 >> final_task
   
Run Code Online (Sandbox Code Playgroud)

然而,这里发生的情况是 Final_task 在任务组中的每个任务之后运行多次,因此:

任务1 -> 最终任务 任务2 -> 最终任务

我想要的是任务组并行运行,并且当最终任务完成时只运行一次,如下所示:

[任务1,任务2] -> 最终任务

我认为使用任务组可以帮助我完成此要求,但它没有按预期工作。有人可以帮忙吗?谢谢。

编辑:这是 Airflow 文档示例的结果。它导致task3在group.task1和group1.task2之后运行。我需要它在两个分组任务完成后只运行一次。

在此输入图像描述

最后编辑:事实证明我误解了树视图 - 图形视图确认了分组操作,尽管我仍然收到最终任务的一些其他错误。感谢您帮助我了解有关 DAG 的更多信息。

airflow google-cloud-composer

1
推荐指数
1
解决办法
3308
查看次数