草庐IT

平分分区

全部标签

hadoop - 使用 kafka-connect 的多个配置单元分区

在这个过程中,我一直在尝试使用kafka-connect将数据流式传输到HDFS中,并启用hive集成。我的用例要求我使用“FieldPartioner”作为分区程序类。我的问题是,我无法获得多个分区。例子:我的示例JSON{"_id":"582d666ff6e02edad83cae28","index":"ENAUT","mydate":"03-01-2016","hour":120000,"balance":"$2,705.80"}我想根据“我的日期”和“小时”进行分区我尝试了以下方法name=hdfs-sinkconnector.class=io.confluent.connec

scala - 给定核心和执行程序的数量,如何确定 spark 中 rdd 的分区数量?

10个节点集群有20个执行器和代码读取一个包含100个文件的文件夹的分区数是多少? 最佳答案 它在您运行的不同模式下是不同的,您可以使用spark.default.parallelism设置对其进行调整。来自Spark文档:ForoperationslikeparallelizewithnoparentRDDs,itdependsontheclustermanager:Localmode:numberofcoresonthelocalmachineMesosfinegrainedmode:8Others:totalnumberofc

hadoop - Hive 写入分区和 DEFAULT

我有一个日期时间表、一个事实表和一个分区表。目标是将date_time加入事实并插入到分区表中。它正在工作,因为我可以验证/apps/hive/warehouse/dbname.db/p_tbl/p_year=2016/p_month=01/p_day=01以及其他几个年、月、日文件夹是当前的。但是,我也有p_year=__HIVE_DEFAULT_PARTITION__/p_month=__HIVE_DEFAULT_PARTITION__/p_day=__HIVE_DEFAULT_PARTITION__充满了应该有自己的分区的数据。为什么某些年、月、日分区有效,而对于其他日期,它们被

hadoop - kafka分区和生产者关系

我有一个kafka集群,其中包含三个代理和一个主题,复制因子为三个和三个分区。我可以看到每个代理都有一份大小相同的所有分区的日志副本。这个主题有两个制作人。有一天,我将一位制作人的写作量减少了一半。然后我发现三个代理的入站流量都减少了,这是预期的,但只有分区1的领导节点的出流量减少了,我不明白。分区领导者的出站流量因复制而减少。但是每个broker都是一个partition的leader,为什么只有一个leader的出流量减少了呢?有没有可能生产者只写一个分区的内容?虽然我不这么认为。请帮我解释一下。集群现在运行良好,但我需要了解它以防出现潜在问题。 最佳答

hadoop - 在当前日期之前动态删除配置单元中的分区

在工作中,我们每天都会收到一个传输到Hive的新文件。该表按列“day”分区,其中包含数据传输到hive的时间,格式为“yyyy-MM-dd”。每当添加新文件时,我们都希望删除以前的分区,以便该表仅包含最新文件的数据。有没有办法编写HiveQL查询以动态删除当前日期之前的任何分区?我试过了:altertabletable_namedropifexistspartition(day但是我得到了这个错误:FAILED:ClassCastExceptionorg.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesccannotbecasttoo

hadoop - Hive 存档分区(动态)失败 : Execution Error, 从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1

我正在尝试从我的表中归档一些旧数据。使用ALTERTABLETABLE_NAMEARCHIVEPARTITION(part_col)查询。Hadoopversion-2.7.3Hiveversion-1.2.1表结构如下,hive>descclicks_fact;OKtimetimestampuser_idvarchar(32)advertiser_idintbuy_idintad_idintcreative_idintcreative_versionsmallintcreative_sizevarchar(10)site_idintpage_idintkeywordvarchar(4

hadoop - 从非分区表创建分区表

假设我在Hive中有内部orc非分区表:CREATETABLEIFNOTEXISTSnon_partitioned_table(idSTRING,companySTRING,citySTRING,countrySTRING,)STOREDASORC;是否可以通过类似cte的语句以某种方式创建parquet分区表?createpartitioned_tablePARTITIONON(dateSTRING)likenon_partitioned_table;altertablepartitioned_tableSETFILEFORMATPARQUET;此创建语句不起作用。所以基本上我需要添

python - 如果没有可用的指定分区路径,SPARK SQL 将失败

我在EMR中使用HiveMetastore。我可以通过HiveSQL手动查询表。但是当我在SparkJob中使用同一个表时,它说Inputpathdoesnotexist:s3://Causedby:org.apache.hadoop.mapred.InvalidInputException:Inputpathdoesnotexist:s3://....我已经在s3://..中删除了上面的分区路径,但它仍然可以在我的Hive中工作,而无需在表级别删除分区。但无论如何它在pyspark中不起作用这是我的完整代码frompysparkimportSparkContext,HiveConte

hadoop - 在配置单元的分区级别添加列

我是Hive的新手,我们需要将列添加到现有的Hive表中。我在以下命令的帮助下做到了这一点。altertabletableName添加列(colName数据类型)级联;但是在hive文档中,我们有alter命令来在分区级别添加列。我尝试了以下命令。hive>SEThive.exec.dynamic.partition=true;hive>altertabletest_alter_colpartition(c=1)addcolumns(d1int);FAILED:ExecutionError,returncode1fromorg.apache.hadoop.hive.ql.exec.DD

apache-spark - PySpark:如何在读取 Parquet 时读取分区列

我将数据存储在Parquet文件和按年、月、日分区的配置单元表中。因此,每个parquet文件都存储在/table_name/year/month/day/文件夹中。我只想读入部分分区的数据。我有如下各个分区的路径列表:paths_to_files=['hdfs://data/table_name/2018/10/29','hdfs://data/table_name/2018/10/30']然后尝试做类似的事情:df=sqlContext.read.format("parquet").load(paths_to_files)但是,我的数据不包含关于年月日的信息,因为这不是数据本身的一