草庐IT

Spark-Hive

全部标签

java - 用于查找最常出现的列值的 Hive UDAF

我正在尝试创建一个HiveUDAF来查找最常出现的列(字符串)值(不是单个字符或子字符串,使用精确的列值)。假设以下是我的名为my_table的表(破折号用于在视觉上分隔列)。User_Id-Item-Count1-A-11-B-11-A-11-A-11-A-11-C-12-C-12-C-12-A-12-C-1假设我调用以下脚本:SelectUser_Id,findFrequent(*)frommy_tablegroupbyUser_Id我应该得到以下输出,因为对于User_Id=1,A出现了4次而B和C只出现了一次。所以,User_Id=1最频繁的是A。同样,User_Id=2最频繁

java - 如何在 Hortonworks VM 上的 Spark 上运行 .jar?

我是HortonworksVM的新手,我很困惑。我正在尝试在Spark上运行.jar文件。通常我通过运行在Windows上进行本地测试spark-submit--driver-memory4g--classen.name.ClassName%CODE%/target/program.jar但由于我需要Hive,所以我想我应该转移到HortonworksVM以在本地进行测试。现在,我已经通过Hortonworks的Ambari的HDFS文件GUI将我的.jar和输入文件上传到HDFS(到/tmp/my_code目录)。接下来是什么?我也找到了命令行,但是如何从VM的命令行访问HDFS上的

hadoop - Spark :What is the ideal number of reducers

我的数据大约是300G。如果我使用Hadoop对其执行reduce作业,180个reduce插槽就可以了,队列中没有任务等待。如果我使用具有相同数量的reduce槽的Spark执行此操作,它会在洗牌阶段卡住,而如果我使用更多的槽(比如4000)就不会发生这种情况,但这将以低效率结束。有什么我可以做的,比如调整参数,以便我可以使用与hadoop相同的插槽?顺便说一句,我的集群有15个节点,每个节点有12个核心 最佳答案 ShuffleOperationinHadoopandSpark是关于该主题的好读物。一些引述:Eachmaptas

hadoop - 如何循环 Hive 查询并使用循环变量

假设我有两个表Externaltable-etableInternaltable-itable我的表是根据日期分区的。现在,为了每天从etable的数据中填充我的itable,我在hue中使用HiveQuery的工作流和协调器如下所示:ALTERTABLEetableADDIFNOTEXISTSPARTITION(date='${date}')LOCATION'path/date=${date}';INSERTOVERWRITETABLEitablepartition(date='${date}')SELECT*FROMetableWHEREdate='${date}';现在假设每天我

scala - Spark 中的 Hadoop 配置

为了调试,我需要在我的Spark作业中获取当前的Hadooporg.apache.hadoop.conf.Configuration。具体来说,我需要使用org.apache.hadoop.fs.Path#getFileSystem(conf:Configuration)方法获取org.apache.hadoop.fs.FileSystem路径给定一个org.apache.spark.SparkContext,有没有办法获取Configuration? 最佳答案 您可以按照下面的代码设置配置sc.hadoopConfiguratio

hadoop - Hive 中 MetaStore 的主要用途?

我对MetaStore的用途有点困惑。在hive中创建表时:CREATETABLE(column1data_type,column2data_type);LOADDATAINPATHINTOtablemanaged_table;所以我知道这个命令获取HDFS中文件的内容并创建它的MetaData形式并将其存储在MetaStore中(包括每行的列类型,列名,它在HDFS中的位置等)在HDFS文件中)。它实际上并没有将数据从HDFS移动到Hive。但是存储这个元数据的目的是什么?例如,当我使用SparkSQL连接到Hive时,MetaStore不包含HDFS中的实际信息,而只包含元数据。那

hadoop - Spark RDD 和 HDFS 数据 block 的区别

请帮助我理解HDFS的数据block和Spark中的RDD之间的区别。HDFS将数据集分发到集群中的多个节点作为具有相同大小的block,数据block将被复制多次并存储。RDD被创建为并行集合。Parallelized集合的元素是跨节点分布还是存储在内存中处理?和HDFS的数据block有关系吗? 最佳答案 IsthereanyrelationtoHDFS'datablocks?一般不会。他们解决不同的问题RDD是关于分配计算和处理计算失败的。HDFS用于分配存储和处理存储故障。分布是公分母,但仅此而已,故障处理策略明显不同(分别

hadoop - 我们如何将多个 hql 文件传递​​给 hive/beeline?

我想在一个配置单元session中运行file_1.hql和file_2.hql。我怎样才能做到这一点?我正在考虑将这两个文件作为hive-ffile_1.hqlfile_2.hql传递。但是-f只需要一个文件。有什么建议吗? 最佳答案 使用bash怎么样:hive-e"$(catfile1.hqlfile2.hql)" 关于hadoop-我们如何将多个hql文件传递​​给hive/beeline?,我们在StackOverflow上找到一个类似的问题: ht

apache-spark - Spark : is using wrong network interface

我在docker容器中使用hadoop集群(我正在使用覆盖网络)我在同一个主机上有2个容器(master和slave2)另一个在不同的主机(slave1)容器可以访问仅由它们使用的本地网络10.0.0.0master和slave2容器还可以访问与主机172.18.0.0共享的另一个网络Slave1可以访问与其主机共享的不同网络172.18.0.0两台主机中的网络172.18.0.0是独立的。所以恢复每个容器都有两个ip地址master:10.0.0.2和172.18.0.2salve2:10.0.0.3和172.18.0.3药膏3;10.0.0.4和172.18.0.2树容器必须通过1

scala - 在 OSX 上安装本地 spark

我试图在我的本地机器(MacBookproosx10.13.3)上运行我的Scala作业,但我在运行时遇到错误。我的版本:scala:2.11.12Spark:2.3.0hadoop:3.0.0我通过brew安装了所有东西。异常(exception)是:引起:java.lang.StringIndexOutOfBoundsException:开始0,结束3,长度2发生在那些行:valconf=newSparkConf().setAppName(getName).setMaster("local[2]")valcontext=newSparkContext(conf)最后一行是抛出异常的