问题如下:
在用cygnus0.2.1创建了一个表之后,我在尝试从配置单元中选择列时收到一个mapreduce错误。如果我们看到cygnus在hadoop中创建的文件,我们可以看到使用的格式是json。这个问题并没有出现在以前版本的cygnus中,因为它正在以csv格式创建hadoop文件。
为了测试它,我留下了两个从每种格式读取的表。您可以通过以下查询比较并查看错误:
SELECT entitytype FROM fiware_ports_meteo; (it fails, created with 0.2.1 in JSON format)
SELECT entitytype FROM fiware_test_table; (it works, created with 0.2 in CSV format)
hdfs文件的路径分别为:
/user/fiware/ports/meteo
/user/fiware/testTable/
我怀疑这个错误来自mapreduce作业解析json文件,因为csv格式按预期工作。
如何避免这个问题?
1条答案
按热度按时间qyzbxkaa1#
您只需将json serde添加到配置单元类路径。作为非特权用户,可以通过配置单元cli执行以下操作:
如果已经开发了远程配置单元客户端,则可以执行与任何其他查询执行相同的操作。假设您使用的是java: