我有一个简单的选项卡分隔文件,其中包含一个pig模式,我正在尝试加载并添加两列。当我使用PigStorage的“-schema”选项加载时,添加操作失败,出现ClassCastException。当我加载“-noschema”时,加法效果很好。为什么在前一种情况下,猪只会例外地失败?
这是只有1行输入的示例文件,具有制表符分隔值:
a 1 1
架构“.pig\u schema”如下所示:
{"fields":[{"name":"str","type":55,"description":"autogenerated from Pig Field Schema","schema":null},{"name":"score","type":15,"description":"autogenerated from Pig Field Schema","schema":null},{"name":"count","type":15,"description":"autogenerated from Pig Field Schema","schema":null}],"version":0,"sortKeys":[],"sortKeyOrders":[]}
下面是grunt shell中的语句列表:
a1 = load '/local/workplace/data' using PigStorage(); --load with schema
describe a1; -- a1: {str: chararray,score: long,count: long}
b1 = foreach a1 generate score + count;
dump b1; -- throws exception
a2 = load '/local/workplace/data' using PigStorage('\t', '--noschema') as (str:chararray, score:long, count: long);
b2 = foreach a2 generate score+count; -- no exception
dump b2; -- works fine
引发的异常是:
org.apache.pig.backend.executionengine.ExecException: ERROR 0: Exception while executing [Add (Name: Add[long] - scope-34 Operator Key: scope-34) chi ldren: [[POProject (Name: Project[long][0] - scope-32 Operator Key: scope-32) children: null at []], [POProject (Name: Project[long][1] - scope-33 Op erator Key: scope-33) children: null at []]] at []]: java.lang.ClassCastException: org.apache.pig.data.DataByteArray cannot be cast to java.lang.Numb er at org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator.getNext(PhysicalOperator.java:338) at org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach.processPlan(POForEach.java:378) at org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach.getNextTuple(POForEach.java:298) at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.runPipeline(PigGenericMapBase.java:282) at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.map(PigGenericMapBase.java:277) at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.map(PigGenericMapBase.java:64) at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:763) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:369) at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:210) Caused by: java.lang.ClassCastException: org.apache.pig.data.DataByteArray cannot be cast to java.lang.Number at org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Add.genericGetNext(Add.java:100) at org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Add.getNextLong(Add.java:123) at org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator.getNext(PhysicalOperator.java:323)
清管器版本:0.12.1
默认情况下,如果u dot提供模式,则所有内容都被视为字节数组。
用例是读取一个文件并在其上创建一个数据帧。之后,获取该文件的架构并存储到DB表中。 例如,我只是创建一个case类并获取printschema,但是我无法从中创建数据帧 下面是一个示例代码 现在dfSchema是一个结构类型,并希望将其转换为两列的数据帧,如何实现
主要内容:echarts_test_data.json 数据:,实例,实例,实例ECharts 通常数据设置在 setOption 中,如果我们需要异步加载数据,可以配合 jQuery等工具,在异步获取数据后通过 setOption 填入数据和配置项就行。 ECharts 通常数据设置在 setOption 中,如果我们需要异步加载数据,可以配合 jQuery等工具,在异步获取数据后通过 setOption 填入数据和配置项就行。 json 数据: echarts_test_
本文向大家介绍jQuery Ajax 加载数据时异步显示加载动画,包括了jQuery Ajax 加载数据时异步显示加载动画的使用技巧和注意事项,需要的朋友参考一下 ajax加载后台数据就不说的那么细了。 看下面代码首先前台上放置代码 在js脚本文件中首先把这个图片动画隐藏 代码如下 然后异步ajax提交请求代码如下 ..................... 注意: async: true, 当
下面的代码是在pyspark shell中运行时的工作文件,但在spark submit master Thread中执行时失败。 我在这里怎么了? 错误:
本文向大家介绍C#使用Jquery zTree实现树状结构显示 异步数据加载,包括了C#使用Jquery zTree实现树状结构显示 异步数据加载的使用技巧和注意事项,需要的朋友参考一下 C#使用Jquery zTree实现树状结构显示_异步数据加载 JQuery-Ztree下载地址:https://github.com/zTree/zTree_v3 JQuery-Ztree数结构演示页面: h
问题内容: update 我可以创建我的数据库架构,它会自动添加属性,约束,键等。但是,更新数据库架构又如何呢?如果我从实体中删除了某些属性,hibernate则不会删除它,或者如果我更改了某些约束,则hibernate不会触及已经创建的约束… 那么,有没有一种方法可以使hibernate状态真正更新数据库架构? 谢谢。 问题答案: 我们为自己创建了一个工具,该工具创建了必要的数据库列和表,并将其