草庐IT

外部化

全部标签

hadoop - hive elasticsearch外部表创建

当我在ElasticSearchHandler存储的hive中创建外部表时,它可以正常工作:*CREATETABLEtest(daySTRING,idCustSTRING)STOREDBY'org.elasticsearch.hadoop.hive.EsStorageHandler'TBLPROPERTIES('es.resource'='test/test','es.mapping.names'='day:@timestamp','es.nodes'='localhost');*当我向其中插入数据时,它起作用了但是当我尝试查询它时,出现错误:异常java.io.IOException

apache-spark - Snappydata 和外部 Hive 兼容性

我正在尝试使用Snappydata1.0.1从Hadoop(HDP2.6.3)读取和处理数据。当指向Hivemetastore(通过Snappydata配置中的hive-site.xml)时,来自Snappydata发行版的Spark可以读取数据库列表,但不能在Snappydata中创建表。它告诉“找不到表”。此外,Snappydata集群UI显示该表,但Snappydata无法进一步使用它-使用此表的INSERT、SELECT、DROP命令会抛出表未找到错误,随后的CREATETABLE会提示“表已存在”。在不指定Hive元存储的情况下,它运行良好。hive-site.xml中的配置

hadoop - Hive 外部表的最大列数

我正在尝试在Amazon的EMR上设置Hive,以从DynamoDB表中提取数据并将其转储到S3。我已按照找到的说明进行操作here,并在我们的大多数table上取得了成功。然而,对于一个DynamoDB表,我收到一个错误(如下所示)。有问题的表有很多列(>100),将映射减少到它们的一个子集允许脚本运行,所以我假设这是问题,但我找不到关于此的任何文档。我可以定义的列数是否有某种硬性限制?还是我可能会在这里遇到其他限制?有办法解决这个问题吗?我得到的错误看起来像:FAILED:Errorinmetadata:javax.jdo.JDODataStoreException:Putrequ

java - 如何在 Cloudera hadoop 中使用外部 jar?

我的集群上安装了clouderahadoop版本4。它与googleprotobufferjar2.4版打包在一起。在我的应用程序代码中,我使用了使用protobuffer2.5版编译的protobuffer类。这会导致运行时无法解决的编译问题。有没有一种方法可以使用外部jar运行mapreduce作业,或者我会卡住直到cloudera升级他们的服务?谢谢。 最佳答案 是的,您可以使用外部jar运行MR作业。请务必在提交作业时向HADOOP_CLASSPATH和-libjars添加任何依赖项,如以下示例所示:您可以使用以下命令添加当

hadoop - 在 udf 中加载外部属性文件

当写一个UDF比方说一个EvalFunc时,是否可以传递一个配置文件properties=newProperties();properties.load(newFileInputStream("conf/config.properties"));在Hadoop模式下运行时?最好的,将 最佳答案 这是从HadoopDFS读取和写入文件的简单示例来自http://wiki.apache.org/hadoop/HadoopDfsReadWriteExample也许您可以在其中找到一些有用的代码来完成您的工作。以下是我的代码,它成功地在ha

java - MapReduce 和从外部源下载文件

我有一个项目,要求以分布式方式从外部源下载文件。我们已经在Hadoop上进行了大量投资,并希望利用MapReduce——但更多的是作为分布式任务而不是ETL。1)以前有人这样做过吗?2)是否应该只有一个Mapper而没有一个Reducer?3)将FTP/HTTP连接的抽象实现传递给映射器的最佳方法是什么?--需要说明的是,我的意思是我想要一种无需进行集成测试即可对此进行单元测试的好方法,因此需要一种模拟FTP/HTTP的方法。4)MapReduce是处理这类事情的最佳方法吗?--我们在滥用MapReduce吗?谢谢。 最佳答案 这“

hadoop - 如何使用外部表和 serde 优化 Hive queires

第1部分:我的环境我将以下文件上传到Hadoop:是纯文本每行包含JSON,如:{code:[int],customerId:[string],data:{[这里有更多内容]}}code是从1到3000的数字,customerId总计400万,每天500万所有文件都是gzip在配置单元中,我使用自定义JSONserde创建了外部表(我们称之为CUSTOMER_DATA)每个date的所有文件都存储在单独的目录中-我将其用作Hive表中的分区我所做的大多数查询都是按date、code和customerId过滤的。我还有第二个格式的文件(我们称之为CUSTOMER_ATTRIBUTES]:

'AudioAttributes()'不公开''android.media.audioattributes'。无法从外部包装访问

当我尝试实例化音频缩写以在声音池中设置音频缩写时,我会收到下面提到的错误。'AudioAttributes()'不公开''android.media.audioattributes'。无法从外部包装访问AudioAttributesattributes=newAudioAttributes().Builder().build();我需要在Soundpool中设置AudioAttributes的帮助看答案AudioAttributes的构造函数不是公开的,您需要使用Builder类是一个嵌套的子类AudioAttributes。将您的作业更改为以下AudioAttributesaudioAttr

Hadoop Hive 外部表位置?

我正在研究HIVE。我应该在哪里创建一个外部表。在我的本地文件系统中或在HDFS文件系统中?。推荐用于项目。 最佳答案 它必须位于集群节点可访问的文件系统中。虽然99%的情况下这意味着集群文件系统,而99%的情况下这意味着HDFS,但这并不是严格意义上的:Hadoop可以访问其他文件系统,简单的例子是S3FileSystem或Azureblobs.您不能用于外部Hive表的一个地方是您的本地文件系统。本地文件URI对远程节点没有意义。它可能适用于伪分布式(单节点)“集群”,但不适用于现实世界。

数据结构——外部排序

一、外部排序1.1基本思想有时,待排序的文件很大,计算机内存不能容纳整个文件,这时候对文件就不能单纯的使用内部排序了,还得采取一些其他的策略。因此需要将待排序的记录存储到外存上,排序时再将数据一部分一部分地调用内存进行排序,在排序过程中需要多次进行内存和外存之间地交换,这种排序方法就成为外部排序。文件通常是按块存储在磁盘上的,操作系统也是按块对磁盘上的信息进行读写的。因为磁盘读/写的机械动作所需的时间远远超过内存运算的时间,因此外部排序过程中的时间代价主要考虑访问磁盘的次数,即I/O次数。外部排序常采用的排序方法是归并排序,这种归并方法由两个不同的阶段组成:根据内存缓冲区大小,将外存中的文件分