在我获取输入数据之前,什么会对其进行重新格式化?

2024-02-21

我有一个数据湖存储帐户。我有一个充满包含 JSON 格式数据的文件的目录,其中包括一些包含 ISO 8601 格式时间的字符串值,即:{ "reading_time": "2008-09-15T15:53:00.91077" }

现在,当我使用数据工厂创建管道并使用这些 JSON 文件作为输入数据集时,它会看到以下值reading_time采用典型的美国格式:"9/15/2008 3:53:00 PM"。具体来说,当我尝试填充时收到此消息DateTime输出数据集中的字段:

列“reports.reading_time”包含无效值“9/15/2008 3:53:00 PM”。无法将“9/15/2008 3:53:00 PM”转换为类型“DateTime”

我想嘿,如果我告诉我的输入数据集特别期望 ISO 输入日期怎么办?所以我在我的管道规范中尝试了这个:

"datasets": [
  {
    "name": "ImprovedInputDataset",
      "properties": {
        "structure": [
          {
            "name": "reports.reading_time",
            "type": "Datetime",
            "format": "ISO"
          }
        ]
      }
    }
  }
]

我对自己收到的略有不同的错误消息印象非常深刻(请参阅最后的“格式为‘ISO’”):

列“reports.reading_time”包含无效值“9/15/2008 3:53:00 PM”。无法将“9/15/2008 3:53:00 PM”转换为格式为“ISO”的类型“DateTime”

长话短说,似乎有什么东西注意到了我原始输入中的 ISO 日期格式,并给我带来了可疑的“帮助”,将其转换为美国风格的日期字符串before我的管道可以看到它。我在 Azure 在线文档中找不到任何内容来准确解释在管道规范执行之前我的输入数据集会发生什么情况。

如果有人a)向我解释是什么将我的ISO日期/时间字符串转换为美国类型的日期/时间字符串以及如何更正它,我将不胜感激;或者 b) 向我指出有关“预处理”的文档,该文档在运行管道规范之前必须在数据工厂内进行。


我可以重现此问题,但使用“String”数据类型作为输入数据集使其正常工作。您也可以不指定数据类型,例如

{
    "name": "InputDataset-9ad",
    "properties": {
        "structure": [
            {
                "name": "reading_time"
            }
        ],
...

这符合我目前的想法,即 JSON 本身没有日期时间数据类型。文档 https://learn.microsoft.com/en-us/azure/data-factory/data-factory-azure-blob-connector#specifying-structure-definition-for-rectangular-datasets建议格式为 .net 格式,“ISO”将永远不起作用。我花了一些时间尝试调试许多不同的日期格式,例如“yyyy-MM-ddTHH:mm:ss.fffffff”,但它们都不起作用。我的猜测是,要么 JSON 根本不支持日期时间,要么它有问题/“T”有问题,并且基本上忽略格式并默认为某些内容,在您的示例中看起来像“en-US”。

我确实发现大多数日期格式在不指定结构的情况下“正常工作”。如果您确实有一些非国际化或不可移植的内容,例如“01/04/2017”(是 4 月 1 日还是 1 月 4 日?),那么解决方法是将其作为字符串导入到临时表中并从那里进行转换。

我确实有一个内部新闻组未解决的问题,如果我收到任何进一步的信息,我将更新这篇文章。注意我不在微软工作。

HTH

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在我获取输入数据之前,什么会对其进行重新格式化? 的相关文章

随机推荐

  • 如何修改并重新发布 AOSP 应用程序?

    我对 Android 电子邮件应用程序中缺少的一个简单功能感到恼火 由于此应用程序发布为开源 https github com android platform packages apps email我可以很容易地解决这个问题 问题 如何发
  • 解析“querystring”格式数据的最简单方法

    使用以下代码 string q userID 16555 gameID 60 score 4542 122 time 343114 解析这些值的最简单方法是什么 最好不编写自己的解析器 我正在寻找具有相同功能的东西Request query
  • 后台工作者 CancelAsync() 不起作用

    我正在尝试取消我的后台工作人员WorkerClass bw CancelAsync 但这根本行不通 编辑 我在这里发布了完整的代码 希望这会有所帮助 好的 我添加了一些消息框来了解工作人员是否仍然忙碌 并且有线的事情是 我得到一个false
  • 在 ElasticSearch Nest 客户端中创建自定义分析器

    我对使用 Nest 客户端的 Elasticsearch 非常陌生 我正在使用自定义分析器创建索引 但是在使用分析进行测试时 它似乎没有使用自定义分析器 主要是没有出现edgengram标记 我是否缺少任何东西可以使我的自定义分析器成为索引
  • Python从列表中删除项目[重复]

    这个问题在这里已经有答案了 我有一个给定格式的列表 John Smith Linus Torvalds Bart Simpson 列表 Linus Torvalds 中有一些这样的元素 我想删除它们 那么为什么下面的代码不删除它们呢 for
  • 在站点之间传递凭据

    我在具有两个不同域的两台不同服务器上运行两个不同的站点 一个站点运行 Joomla 另一个站点运行 Moodle 我已将 Moodle 服务器配置为基于 Joomla 站点上的用户表进行身份验证 因此我们拥有权威的用户信息来源 我想做的是
  • Android - 如何解析 JSONObject 和 JSONArrays

    我的版本是 Android 2 2 Google API 8 我从模拟器运行 我正在尝试尝试访问此 JSON 对象中的位置 我使用后得到这个 InputStream instream entity getContent JSONObject
  • WIFI变化的广播动作

    在我的应用程序中 每当设备连接或断开 WIFI 网络时我都必须收到通知 为此我必须使用BroadcastReceiver但是在阅读了关于 SO 的不同文章和问题后 我有点困惑我应该为此使用哪种广播操作 在我看来 我有三个选择 SUPPLIC
  • Vaadin:小部件集未加载。

    我能够将 Vaadin 模块集成到我们基于 Spring 的应用程序中 集成后 我想运行甘特图的演示 它是 Vaadin 的附加组件 并在 github 上找到了它here https github com tltv gantt 文件夹内有
  • 类型“System.Data.Entity.DbContext”是在未引用的程序集中定义的。您必须添加对程序集“EntityFramework 2”的引用

    我有一种解决方案 一个项目是带有 edmx 数据模型的类库 另一个是asp net web 表单项目 当我开始解决方案时 出现以下异常 类型 System Data Entity DbContext 是在未引用的程序集中定义的 您必须添加对
  • Tailwind 自定义主题颜色不透明度未应用

    我正在研究一个Reactjs使用的项目顺风 CSS作为我的 CSS 框架 我正在尝试构建一个具有自定义颜色的主题 我将颜色定义为 CSS 变量index css文件 但设置 alpha 值对这些颜色不起作用 这是我的颜色值的 CSS lay
  • MongoDB - 清除嵌套数组中的项目

    如果我的模式中有一个嵌套数组 我如何告诉 MongoDB 删除其特定模型的条目 Schema var UserSchema new Schema username String documents Number 我尝试过这样的事情 db u
  • Xcode5:无法注册“/System/Library/CoreServices/CoreTypes.bundle/Contents/Library/MobileDevices.bundle

    我的库有一些类型转换器 我正在注册一些 OSX 和 iOS 类型转换器 如下所示 当我为 iOS 进行编译时 我收到一些与无法找到 UIKit 相关的错误 以下是我针对 iOS 进行编译的方法 xcodebuild destination
  • 将 ViewPager 与不带 actionBar 的选项卡一起使用

    我正在使用名为EffectiveNavigation 的谷歌示例来创建带有选项卡的ViewPager 问题是在清单中 对于我的主要活动 我设置了 android theme android style Theme Holo NoAction
  • 多个表的视图。需要删除 1 个表定义的“双打”

    好吧 这就是我所坚持的 Full size https i stack imgur com AEIjH png SELECT dbo InstellingGegevens INST SUBTYPE dbo InstellingGegeven
  • 如何绘制这些数据?

    我有一个值数组theta and phi 如何轻松创建 MATLAB 绘图 其中theta and phi是这样的球坐标 如果我有一个数组 如何在 MATLAB 中绘制值theta and phi半径保持不变 这些是theta theta
  • pandas 时间戳与日期时间的性能较慢

    我似乎遇到了 pandas Timestamp 与 python 常规 datetime 对象的算术运算性能出乎意料的缓慢 这是一个基准测试 演示了 import datetime import pandas import numpy us
  • 找不到模块:无法解析“swiper/react”

    我在使用最新版本的 Swiper 时也遇到了同样的问题 它在我之前的项目中有效 但现在不起作用 连那个版本都没有 最新版本也试过了 这是我的代码 Import Swiper React components import Swiper Sw
  • xtext 自定义作用域:函数参数

    我正在尝试自定义作用域 这样 如果我的语言中有类似函数的东西可以获取参数 我希望这些参数仅在出现分号之前才可见 而在这个范围之外 我希望它不可见 我尝试在文件 MyDslScopeProvider xtend 中重新定义方法 getScop
  • 在我获取输入数据之前,什么会对其进行重新格式化?

    我有一个数据湖存储帐户 我有一个充满包含 JSON 格式数据的文件的目录 其中包括一些包含 ISO 8601 格式时间的字符串值 即 reading time 2008 09 15T15 53 00 91077 现在 当我使用数据工厂创建管