我正在关注一个简单的hive json serde教程,但是无法接受一个看起来完全正确的json文件.
{
"id": 596344698102419456,
"created_at": "MonApr0101: 32: 06+00002013",
"source": "<ahref="http: //google.com"rel="nofollow">RihannaQuotes</a>",
"favorited": False
}
CREATE EXTERNAL TABLE tweets (
id BIGINT,
created_at STRING,
source STRING,
favorited BOOLEAN
)
ROW FORMAT SERDE 'com.cloudera.hive.serde.JSONSerDe'
LOCATION '/user/flume/tweets';
Run Code Online (Sandbox Code Playgroud)
加载数据后,它表示有0行表default.tweets stats:[numFiles = 1,numRows = 0,totalSize = 166,rawDataSize = 0]
并select * from tweets;因异常而失败
java.io.IOException:org.apache.hadoop.hive.serde2.SerDeException:org.codehaus.jackson.JsonParseException:意外的输入结束:OBJECT的预期关闭标记(来自[来源:java.io.StringReader@45377ac1 ; line:1,column:0])at [来源:java.io.StringReader@45377ac1; line:1,column:3]
我做错了什么吗?
总而言之,您必须将整个记录放在一行上,而不是嵌入\n.
{ "id": 596344698102419456, "created_at": "MonApr0101: 32: 06+00002013", "source": "blank", "favorited": false }
Run Code Online (Sandbox Code Playgroud)
这就像一个魅力.
| 归档时间: |
|
| 查看次数: |
2145 次 |
| 最近记录: |