当前位置: 首页 > 知识库问答 >
问题:

使用JsonSerDe时未找到启动令牌错误

梁烨
2023-03-14

我正在尝试从S3导入一个JSON数据,在进行一些查询后,将输出作为JSON格式再次导出到S3。但是,我在EMR集群上的配置单元步骤中得到“org.apache.hadoop.hive.serde2.serdeException:java.io.ioException:Start token not found where expected”错误。为了理解问题是什么,我简化了Hive脚本和JSON数据,但它却不断给出相同的错误。我该如何解决这个问题呢?

群集配置:

配置单元版本:2.1.1

Hadoop发行版:Amazon 2.7.3

服务角色:EMR_DefaultRole

[{"MyID":"FOO123","MyField":"FOO"},{"MyID":"BAR123","MyField":"BAR"}]
DROP TABLE IF EXISTS SOURCE;
DROP TABLE IF EXISTS DESTINATION;

CREATE EXTERNAL TABLE SOURCE(MyID STRING, MyField STRING)
ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
LOCATION 's3://myPath/subPath/';

CREATE EXTERNAL TABLE DESTINATION(MyID STRING, MyField STRING)                                    
ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
LOCATION 's3://anotherPath/subPath/';

INSERT OVERWRITE TABLE DESTINATION SELECT MyID, MyField FROM SOURCE;

下面是堆栈跟踪:

多谢了。

共有1个答案

秦英发
2023-03-14

JSON应以{开头,而不是以数组([)开头

 类似资料:
  • 我正试图通过以下命令从ADB启动服务- 我得到以下回应

  • 我有一个项目无法运行。 我已经两周没碰这个项目了。我昨天做的唯一一件事就是添加一个git存储库,就是这样。 当我试图运行时,我得到了这个错误: 我已经在其他帖子上看到了关于这个错误的解决方案,但是没有一个适合我。我已经删除了目录和文件,然后运行。 然而,我仍然得到相同的错误消息。有人知道怎么了吗? 这是我的包裹。json文件:

  • 我有一个脚本叫做在我的主文件夹中。 当我导航到这个文件夹,并输入,我得到 . 当我使用时,我得到 。 为什么会发生这种情况,我如何解决它?

  • 我用的是角度和节点。js与Auth0一起登录。我正在使用《快速入门指南》启动API。这是我使用Auth0 API的后端。 使用Auth0通用登录登录后,我会尝试访问我的后端,查看我是否获得授权。 这是检查我是否被授权的代码。 注意,我没有传递任何东西(我想我需要传递,但Auth0指南没有告诉我)。 在检查我是否被授权后,我得到一个错误,没有找到授权令牌。不知道我在这里干什么。我的后端是否未正确连接

  • 当我试图将一个项目翻译成Spring Boot时,我遇到了一个错误——我无法理解我做错了什么。将后缀和前缀添加到属性文件中,试图更改jsp的位置,debager显示在控制器的方法中。我做错了什么?如果有任何帮助,我将不胜感激 错误: 此应用程序没有针对/错误的显式映射,因此您将其视为回退。 2018年7月17日星期二00:45:23出现意外错误(类型=未找到,状态=404)/批准jsp Sprin

  • 我尝试使用安全性和mysql作为提供者来保护我的spring boot应用程序。 调试应用程序时,出现以下错误: SysUserService中的字段sysUserRepository需要一个名为entityManagerFactory的bean,但找不到。 我已经看过这个问题了 如何使用Spring Boot与MySQL数据库和JPA? 这是SysUserService 这是我的Spring启动