我已经在redshift中定义了一个具有某些列的现有表。这已经通过使用jsonpath定义& COPY from S3命令成功地映射到了一个JSON存储桶中。这一切都运行得很好。

但我现在有了不同格式的数据,它存储在不同的S3存储桶中,并希望将这些数据也放入redshift中的同一个表中。然而,这个新数据并没有这个红移表中所有列的值-我想简单地将新存储桶数据的红移表中的那些特定值默认为none。我的问题是,我不知道如何最好地为要使用的新S3存储桶设置jsonpath定义,这样我也可以轻松地在新的s3存储桶上运行COPY FROM JSON。

我试图避免对新的存储桶数据进行预处理,这可能只涉及添加具有空值的附加键(以映射到不需要的列)。

我尝试过在jsonpath中简单地放入空字符串,以便与redshift中的列对齐,而我并不关心如何在for中输入值。然而,AWS redshift文档指出,在从JSON复制命令期间,空字符串会导致出现错误。https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-format.html#copy-json-jsonpaths

现有的红移表

CREATE TABLE events (
    platform_name VARCHAR(10),
    app_id VARCHAR(10),
    app_version VARCHAR(10)
)

现有存储桶的现有映射文件

{
    "jsonpaths": [
       "$['device']['platform']['name']",
       "$['application']['app_id']",
       "$['application']['version_code']"
    ]
}

新存储桶的映射文件,其中数据对象只有与name对应的值,而不是与app_idapp_version对应的值。但我想把它们放在同一个红移表中。

{
    "jsonpaths": [
       "$['platform']",
       ???,
       ???
    ]
}

我知道在新格式中肯定不存在的JSON路径中的位置是一种选择吗?看起来很奇怪。

转载请注明出处:http://www.zhongtian365.com/article/20230512/998094.html

随机推荐

  1. 使用Facebook Pixel,如何使用JS SDK触发激活的应用程序事件?

    如何在使用javascript SDK安装或激活应用程序时触发FB像素?基于FB文档,我们使用:FB.AppEvents.activateApp();复制已验证SDK已加载,且存在FB.AppEvents对象和activateApp函数。我...

  2. 使用Lamar DI容器,如何使用给定类型的lambda构建对象?

    Lamar为使用lambda构建对象提供了以下语法:serviceRegistry.ForISomeType().Use(x = { ... });复制这将允许您解析将执行已注册委托的ISomeType: var someType = co...

  3. 如何使用jsonpath表达式从json中获取name字段的值

    我想从下面的json中获取name“字段的值。我试过使用工具http://jsonpathfinder.com/和http://jsonpath.com/?我使用http://jsonpath.herokuapp.com/验证表达式路径是否...

  4. 使用Pandas groupby如何使用加法聚合一列列表?

    我有一个dataframe,它有一个列,其中包含一个值列表。数据帧中的每一行都有一个相同长度的列表。我想使用Dataframe.groupby对数据帧中的数据进行分组,并按以下方式对列表求和:在:import pandas as pd #...

  5. 使用Java Selenium,如何使用Unicode值选择此元素?

    我正在使用Java Selenium进行测试。我正在尝试执行单击close按钮,该按钮具有以下unicode字符:\ue01d。该元素上的OuterHTML如下所示:input class=form-control btn btn-cle...

  6. 如何使用JSON path获取JSON字符串的片段而不是JToken?

    我正在寻找最好的方法来获取JSON字符串的一部分,而不是使用SelectTokens(JPath)获取JTOken集合。例如:JObject o = JObject.Parse(@{ Stores: [ Lamb...

  7. 使用备用凭据-如何使用Azure AD?

    我已经在Azure中设置了一个SQL Server数据库,并添加了一个具有几个成员的Azure AD组。*当我使用我的Azure AD帐户与SSMS连接时,这可以正常工作。但是,当我在Power BI桌面中的用户备用凭据下使用相同的凭据时,...

  8. 使用vcpkg安装后如何使用PCL库?

    这是我第一次使用vcpkg安装PCL库。成功安装后,使用.\vcpkg install pcl复制我尝试使用vcpkg集成安装来链接它,但无济于事。我使用的是VS代码和一个位于C:/MingGW/bin/gcc.exe下的MinGW gcc...

  9. 使用Django,如何使用列根据FK过滤对象并获得不同的值

    我的数据库查询如下:select distinct m.topic from education.sessions s, education.modules m where s.subject_id = Biology and s.modu...

  10. 使用VBA插入Excel公式时如何使用变量?

    我正在尝试获取一个Excel If公式,以应用于工作表中包含内容的所有行。如果应用宏后输入的单元格值为y,则下一列中会显示一些内容,如果是n,则会显示其他内容。它看起来是这样的:For Row = 2 To LastRow ...