为什么当我在hive中使用“insert into”时总会有一些空值?

时间:2016-09-10 14:38:36

标签: hadoop hive

我创建了一个表,并定义了与源表相同的每个字段的数据类型。当我使用“insert into table select ...”来完成这个新表中的数据时,没有调试错误。我确信'productid'字段在源表中没有null值,这是bigint类型。但插入后,我发现少量记录'productid为空。我也尝试存储为textfile和镶木地板。结果表中仍然存在空值是没有意义的。

然而,当我使用“creata table as select .... from ...”时,结果productid中没有null。

所以我不知道问题出在哪里? 感谢。

1 个答案:

答案 0 :(得分:0)

当您尝试加载的实际数据与DDL中的目标Hive表列数据类型具有不同的数据类型或目标表中的长度较小时,会发生这种情况。根据其中的实际数据和DDL语句中定义的长度Vs检查using UnityEngine; using System.Collections; using UnityEngine.EventSystems; public class DragHandler : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler{ public static GameObject piece; Vector3 startPosition; Transform startParent; public static GameObject cube; #region IBeginDragHandler implementation public void OnBeginDrag (PointerEventData eventData) { piece = gameObject; startPosition = transform.position; startParent = transform.parent; GetComponent<CanvasGroup>().blocksRaycasts = false; } #endregion #region IDragHandler implementation public void OnDrag (PointerEventData eventData) { transform.position = eventData.position; } #endregion #region IEndDragHandler implementation public void OnEndDrag (PointerEventData eventData) { piece = null; GetComponent<CanvasGroup>().blocksRaycasts = false; if(transform.parent == startParent){ transform.position = startPosition; GetComponent<CanvasGroup>().blocksRaycasts = true; } } #endregion }缺失值。