繁体   English   中英

无法从Spark Shell在Hive中为Twitter数据创建表格

[英]not able to create a table in hive from spark shell for twitter data

我将Twitter数据存储在hdfs路径中。 我能够使用spark数据帧读取数据为:

val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)

val df= hiveContext.read.json("/nifi/data/twitter/")

df.printSchemadf.show命令显示结果没有任何问题。

但是,当我尝试将数据帧存储到配置单元表时,我面临以下错误:

df.write.saveAsTable("tweets_32")

org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException):/ apps / hive / warehouse / tweets_32 / _temporary / 0 / _temporary / attempt_201809260508_0002_m_000002_0 / part-r- -c204b592-dc2a-4b2f-bc39-54afb237a6cb.gz.parquet(inode 1173647):文件不存在。 [租。 持有人:DFSClient_NONMAPREDUCE_14557453_1,待定创建:1]>

有人可以告诉我,这可能是什么原因?

此错误的含义:另一个程序已处理并删除了此tmp文件。 检查是否没有其他任务与您的任务并行运行。 另一个原因-您的任务可能很慢。 Hadoop不会尝试诊断和修复运行缓慢的任务,而是尝试检测它们并为其运行备份任务。 您可以通过关闭对spark和Hadoop的推测来尝试解决此问题:

sparkConf.set("spark.speculation", "false");
sparkConf.set("spark.hadoop.mapreduce.map.speculative", "false");
sparkConf.set("spark.hadoop.mapreduce.reduce.speculative", "false");

有一个与此问题讨论相关的主题: 在此处输入链接描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM