草庐IT

平分分区

全部标签

hadoop - s3 上的 Spark Dataset Parquet 分区创建临时文件夹

Spark(version=2.2.0)没有DirectParquetOutputCommitter。作为替代方案,我可以使用dataset.option("mapreduce.fileoutputcommitter.algorithm.version","2")//magichere.parquet("s3a://...")避免在S3上创建_temporary文件夹。一切正常,直到我将partitionBy设置为我的数据集dataset.partitionBy("a","b").option("mapreduce.fileoutputcommitter.algorithm.versi

hadoop - 创建 Hive 分区表前需要遵循的规则

作为我要求的一部分,我必须创建一个新的Hive表并以编程方式插入其中。为此,我使用以下DDL来创建Hive表:CREATEEXTERNALTABLEIFNOTEXISTScountData(tableNameString,ssnString,hiveCountString,sapCountString,countDifferenceString,percentDifferenceString,sap_UpdTmsString,hive_UpdTmsString)COMMENT'Thistablecontainsrecordcountofcorrespondingtablesofallt

bash - Hive 使用 HIVE CONCATENATE 合并所有分区

我有一个配置单元外部表,在源系统上分区,这意味着数据将来自多个源系统。数据目录结构为:/app/hadoop/MyProject/SchemaName/TableName/PartitionColumn=SoruceSystem1/app/hadoop/MyProject/SchemaName/TableName/PartitionColumn=SoruceSystem2/app/hadoop/MyProject/SchemaName/TableName/PartitionColumn=SoruceSystem3.../app/hadoop/MyProject/SchemaName/T

scala - 如何对 RDD 进行分区

我有一个文本文件,其中包含大量由空格分隔的随机浮点值。我正在将此文件加载到Scala中的RDD中。这个RDD是如何分区的?此外,是否有任何方法可以生成自定义分区,以便所有分区具有相同数量的元素以及每个分区的索引?valdRDD=sc.textFile("hdfs://master:54310/Data/input*")keyval=dRDD.map(x=>process(x.trim().split('').map(_.toDouble),query_norm,m,r))我在这里从HDFS加载多个文本文件,进程是我调用的函数。我可以使用mapPartitonsWithIndex解决方案

hadoop - 当使用 alter drop 命令删除分区时,如何从配置单元中删除分区元数据

我已经使用alter命令删除了hive表中的所有分区altertableempdroppartition(hiredate>'0');删除分区后我仍然可以看到分区元数据。如何删除这个分区元数据?我可以为新分区使用同一张表吗? 最佳答案 分区是在创建表时定义的。通过运行ALTERTABLE...DROPPARTITION...,您只是删除了匹配分区的数据和元数据,而不是表本身的分区。此时您最好的选择是重新创建没有分区的表。如果您尝试保存一些数据,请重命名当前表,创建新表(没有分区),然后从旧表运行INSERT到新表。

hadoop - 为什么分区连接(随机播放)并不总是比广播连接好?

我已经进行了深入的研究,但我找不到足够详细的信息..我读过这些:1)http://www.cloudera.com/content/www/en-us/documentation/enterprise/latest/PDF/cloudera-impala.pdf2)http://www.cidrdb.org/cidr2015/Papers/CIDR15_Paper28.pdf但是我没有找到任何答案..有人能解释一下为什么分区连接并不总是更好吗?我的意思是,如果我们有两个表T1(大表)和T2(小表),如果我使用分区策略,它们都会被分区,并且我们将T1/n-1子集发送到其他节点,T2也是如

hadoop - 插入 Hive 表 - 非分区表到分区表 - 无法插入目标表,因为列号/类型

当我尝试插入分区表时出现以下错误SemanticException[错误10044]:第1:23行无法插入目标表,因为列号/类型不同“US”:表inclause-0有2列,但查询有3列。我的输入数据1,aaa,US2,bbb,US3,ccc,IN4,ddd,US5,eee,IN6,fff,IN7,ggg,US已创建hive表txcreatetabletx(noint,namestring,countrystring)ROWFORMATDELIMITEDFIELDSTERMINATEDBY',';已创建分区表t1按国家/地区分区createtablet1(noint,namestring

java - 使用 Apache Spark 重新分区

问题:我正在尝试对数据集进行重新分区,以便在指定的整数列中具有相同编号的所有行都在同一分区中。什么是有效的:当我将1.6API(在Java中)与RDD一起使用时,我使用了哈希分区程序,这按预期工作。例如,如果我为每一行打印此列的每个值的模数,我将在给定分区中获得相同的模数(我通过手动读取使用saveAsHadoopFile保存的内容来读取分区)。使用最新的API时没有按预期工作但现在我正在尝试使用2.0.1API(在Scala中)和具有重新分区方法的数据集,该方法采用多个分区和一列并将此数据集保存为Parquet文件。如果我在给定此列的行未分区的分区中查看结果是不一样的。

hadoop - 中间有列的 Hive 表分区

我想用Hadoop上现有文件的分区创建一个表。我需要分区的日期值在文件中可用,但日期值列位置不是最后一个。它在中间。如何创建相同的表?示例如下:1John2012-01-10Miller2Austin2012-02-22Powers 最佳答案 举个例子:你想要一个包含三列的分区Hive表(idINT,fnameSTRING,dtSTRING,lnameSTRING)whereid,fname,lname是分别存储一个整数id,stringfirstname和一个stringlastname的列,dt是一个string类型的分区列,包

hadoop - Hive:尝试创建动态分区时出现 fatal error

createtableMY_DATA0(session_idSTRING,useridBIGINT,date_timeSTRING,ipSTRING,URLSTRING,countrySTRING,stateSTRING,citySTRING)ROWFORMATDELIMITEDFIELDSTERMINATEDBY','LINESTERMINATEDBY'\n'STOREDASTEXTFILE;LOADDATAINPATH'/inputhive'OVERWRITEINTOTABLEMY_DATA0;createtablepart0(session_idSTRING,useridBIGI