草庐IT

spark-hive

全部标签

hadoop - 无法描述使用 avro serde 创建的 Hive 表

我已经使用Avroserde创建了一个Hive表。下面是我从网站上复制来创建表格的代码。createtableNEW_TABLErowformatserde'org.apache.hadoop.hive.serde2.avro.AvroSerDe'storedasinputformat'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'outputformat'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'tblproperties('avro.

hadoop - Hive 中 LEFT OUTER JOIN 的全表扫描问题

我正在尝试对配置单元中的2个表执行LEFTOUTERJOIN操作。可以理解,我们在连接的情况下包括了过滤条件和连接条件,从where条件中模仿它们以避免全表扫描。引用:https://gist.github.com/randyzwitch/9abeb66d8637d1a0007c尽管这样做,我的查询还是产生了大量的映射器和缩减器,就好像它在进行全表扫描一样。这是我的查询和解释计划。我不擅长理解这个解释计划。m.date_id和d.REC_CREATED_DATE是各自表中的分区列,因此它实际上应该只扫描这些分区。任何改进我的查询的建议都会有很大帮助。hive>EXPLAINSELECT

hadoop - 无法启动配置单元外壳——无法实例化 org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

几个月前我安装了hive0.14。它运行良好。但是当我现在开始时,它会让我陷入错误。安装hive后,我只在我的ubuntu机器上安装了spark、mysql、hbase,但是hbase也没有启动。认为java可能是一个问题,因为我安装了两个jdk版本,卸载了整个java包并安装了oraclejava7并将我的JAVA_HOME指向/usr/lib/jvm/java-7-oracle。这并没有解决我的问题所以安装一个新的hive版本1.0.1,这也不利于我。我在谷歌上搜索了很多相同的错误并尝试应用它但没有运气。我不确定最近安装的spark是否导致我不匹配。有人可以帮我解决这个问题。以下是

hadoop - Hive 和 JsonSerDe 的数据问题

我正在使用JSON格式的Twitter数据并创建我的Hive结构来存储数据。我还使用SerDeorg.openx.data.jsonserde.JsonSerDe来序列化/反序列化每一行。我有一个问题列是地理列(碰巧是我的应用程序最重要的列)。本栏目的结构如下(完整结构在底部):geostruct,type:string>这适用于具有正确数据的行:“地理”:{“类型”:“点”,“坐标”:[0.123337,0.955139]}然而,我的大部分数据都包含地理列的以下内容:“地理”:“无”这会导致以下SerDe错误:数据不是JSONObject而是值为None的java.lang.Stri

hadoop - 确定 Hive 表上的分桶配置

我很好奇是否有人可以提供更多关于如何在Hive表上配置分桶属性的说明。我看到它有助于连接,我相信我读到将它放在您将用于连接的列上是很好的。那可能是错误的。我也很好奇如何确定要选择的桶数。如果有人能就如何确定所有这些事情给出一个简短的解释和一些文档,那就太好了。在此先感谢您的帮助。克雷格 最佳答案 如果你想先在你的表中实现分桶,你应该设置属性设置hive.enforce.bucketing=true;它将强制分桶。carnality:列的可能值的数量。如果您使用ClusterBy子句实现分桶,您的分桶列应该具有高亲和性,那么您将获得更

shell - 如何将一个目录中的多个CSV表递归加载到Hive中

我已经创建了一个具有指定模式但没有数据的外部Hive表,比如表A。现在假设我在HDFS目录中有CSV文件,按以下方式组织:20150718/dir1/dir2/file1.csv20150718/dir1/dir2/file2.csv...................20150718/dir1/dir2/..../dirN/file10000.csv换句话说,这些文件可能在目录20150718中的多个不同级别的目录中。如何在一个Hive/shell命令中加载这些CSV文件?另一个注意事项是我计划随着时间的推移根据日期创建分区,那么我应该如何进行?仍然是新的Hive用户,非常感谢您的

java - 如何从单独的 java 程序中在集群上运行 spark 程序?

我有一个运行单独的小型spark程序的java程序,那么如何让我的java程序在集群上运行小型spark模块/程序?例如:我有一个程序名executor(java程序)。和一些spark程序--添加两个数字--减去两个数字那么我如何从我的java程序(在这种情况下为执行程序)在Cluster上运行这些spark程序。谢谢!!! 最佳答案 检查sparkjobserver项目,让您创建共享上下文并从rest接口(interface)执行作业:https://github.com/spark-jobserver/spark-jobser

json - Apache spark 存储和查询 json 数据是一个很好的用例吗?

架构-关于架构的简要描述,我正在开发一个人们查询并等待答案的回答引擎(与搜索引擎不同的东西)。后端寻找自动答案,或者如果没有直接找到答案,它会将带有置信度分数的片段发送到界面。生成的任何片段和答案都存储在Mongodb集合中。每个查询都会得到一个唯一的URL和snippetid,我将这个id保存在Mongodb中,每当用户从其他搜索引擎跳转到URL时,就会进行从Mongodb集合中获取数据的查询。一开始这个架构运行良好,但现在数据在增加,我非常需要更好的架构。我应该将数据存储在Hadoop中并可以编写MR程序来获取数据。我应该优先使用spark和shark我应该坚持使用Mongodb我

java - Apache Spark 中的持久化选项

您好,我是ApacheSpark的新手,我正在使用Java中的Apachesparksql查询配置单元表。这是我的代码SparkConfsparkConf=newSparkConf().setAppName("Hive").setMaster("local");JavaSparkContextctx=newJavaSparkContext(sparkConf);HiveContextsqlContext=neworg.apache.spark.sql.hive.HiveContext(ctx.sc());org.apache.spark.sql.Row[]results=sqlCont

hadoop - Hive - Hbase 集成事务更新与时间戳

我是hadoop和大数据的新手,这几天只是想弄清楚将我的数据存储移动到hbase的可能性,我遇到了一个问题,你们中的一些人可能会帮助我。所以它就像,我有一个hbase表"hbase_testTable",其列族为:"ColFam1"。我已将"ColFam1"的版本设置为10,因为我必须维护此列系列的最多10次更新的历史记录。哪个工作正常。当我尝试通过具有显式时间戳值的hbaseshell添加新行时,它工作正常。基本上我想使用时间戳作为我的版本控制。所以我指定时间戳为put'hbase_testTable''1001','ColFam1:q1','1000$',3'3'是我的版本。一切正