我试图理解这篇论文:线性时间内稳定的最小空间划分.
似乎这个主张的一个关键部分是
算法B在 O(nlog 2 n)时间和恒定的额外空间中稳定地排序大小为n的位数组,但仅使O(n)移动.
但是,本文没有描述算法,只引用了另一篇我无法访问的论文.我可以找到几种方法在时间范围内进行排序,但是我很难找到一个保证O(N)移动而不需要超过恒定空间的方法.
这个算法B是什么?换句话说,给定
boolean Predicate(Item* a); //returns result of testing *a for some condition
Run Code Online (Sandbox Code Playgroud)
是有一个功能B(Item* a, size_t N);,其稳定地排序一个使用谓词如少于NLOG排序键2个 n次呼叫到谓词,只有O(N)写入到执行一个?
自动更新Hive分区表的元数据的方法是什么?
如果将新分区数据添加到HDFS(没有alter table add partition命令执行).然后我们可以通过执行命令'msck repair'来同步元数据.
如果从HDFS中删除了大量分区数据(没有执行alter table drop partition commad执行),该怎么办?
同步Hive metatdata的方法是什么?
是否可以使用2列而不是仅1为分区函数对表进行分区?
考虑一个包含3列的表
ID (int, primary key,
Date (datetime),
Num (int)
我想将这个表分为2列:Date和Num.
这是我使用1列(日期)对表进行分区的方法:
create PARTITION FUNCTION PFN_MonthRange (datetime)
AS
RANGE left FOR VALUES ('2009-11-30 23:59:59:997',
'2009-12-31 23:59:59:997',
'2010-01-31 23:59:59:997',
'2010-28-02 23:59:59:997',
'2010-03-31 23:59:59:997')
go
Run Code Online (Sandbox Code Playgroud) 我试图了解如何在Apache Spark中完成分区.你能帮忙吗?
这是场景:
count.txt10 MB大小的文件以下创建了多少个分区?
rdd = sc.textFile(count.txt)
Run Code Online (Sandbox Code Playgroud)
文件大小是否对分区数有影响?
当我执行以下命令时:
scala> val rdd = sc.parallelize(List((1,2),(3,4),(3,6)),4).partitionBy(new HashPartitioner(10)).persist()
rdd: org.apache.spark.rdd.RDD[(Int, Int)] = ShuffledRDD[10] at partitionBy at <console>:22
scala> rdd.partitions.size
res9: Int = 10
scala> rdd.partitioner.isDefined
res10: Boolean = true
scala> rdd.partitioner.get
res11: org.apache.spark.Partitioner = org.apache.spark.HashPartitioner@a
Run Code Online (Sandbox Code Playgroud)
它说有10个分区,分区完成使用HashPartitioner.但是当我执行以下命令时:
scala> val rdd = sc.parallelize(List((1,2),(3,4),(3,6)),4)
...
scala> rdd.partitions.size
res6: Int = 4
scala> rdd.partitioner.isDefined
res8: Boolean = false
Run Code Online (Sandbox Code Playgroud)
它说有4个分区,并且没有定义分区器.那么,什么是Spark中的默认分区方案?/如何在第二种情况下对数据进行分区?
我有一个mysql数据库表,我想按日期分区,特别是按月和年.但是,当为新月添加新数据时,我不想手动更新数据库.
当我最初创建我的数据库时,我有数据在11月9日,12月9日,1月10日等.现在当2月开始时,我想要自动创建2月10日的分区.这可能吗?
这里有一个很好的讨论,关于使用Kingsby的Jesper库模拟Cassandra中的分区问题.
我的问题是 - 在Cassandra你主要关注CAP定理的分区部分,还是一致性是你需要管理的一个因素?
partitioning high-availability consistency cassandra cap-theorem
我有一套不同的价值观.我正在寻找一种方法来生成此集合的所有分区,即将集合划分为子集的所有可能方式.
例如,该集{1, 2, 3}具有以下分区:
{ {1}, {2}, {3} },
{ {1, 2}, {3} },
{ {1, 3}, {2} },
{ {1}, {2, 3} },
{ {1, 2, 3} }.
Run Code Online (Sandbox Code Playgroud)
由于这些是数学意义上的集合,因此顺序无关紧要.例如,{1, 2}, {3}是相同的,{3}, {2, 1}也不应该是单独的结果.
可以在Wikipedia上找到集合分区的完整定义.
我正在尝试对R中的数据集进行分区,2/3用于训练,1/3用于测试.我有一个分类变量和七个数值变量.每个观察被分类为A,B,C或D.
为简单起见,假设分类变量cl对于前100次观测是A,对于观察101到200是C,C到300,D到400.我正在尝试获得具有2/3的分区对于A,B,C和D中的每一个的观察结果(而不是简单地获得整个数据集的2/3的观察结果,因为它可能没有相同数量的每个分类).
当我尝试从数据的子集中进行采样时,例如sample(subset(data, cl=='A')),列被重新排序而不是行.
总而言之,我的目标是从A,B,C和D中的每一个随机观察67个作为我的训练数据,并将A,B,C和D中的每一个的剩余33个观测值存储为测试数据.我发现了一个与我非常相似的问题,但它没有考虑到多个变量.
我有date&hour,文件夹结构分区的镶木地板数据:
events_v3
-- event_date=2015-01-01
-- event_hour=2015-01-1
-- part10000.parquet.gz
-- event_date=2015-01-02
-- event_hour=5
-- part10000.parquet.gz
Run Code Online (Sandbox Code Playgroud)
我已经raw_events通过spark 创建了一个表,但是当我尝试查询时,它会扫描所有目录的页脚,这会减慢初始查询,即使我只查询一天的数据.
查询:
select * from raw_events where event_date='2016-01-01'
类似的问题:http://mail-archives.apache.org/mod_mbox/spark-user/201508.mbox/%3CCAAswR-7Qbd2tdLSsO76zyw9tvs-Njw2YVd36bRfCG3DKZrH0tw@mail.gmail.com%3E(但它的旧版本)
日志:
App > 16/09/15 03:14:03 main INFO HadoopFsRelation: Listing leaf files and directories in parallel under: s3a://bucket/events_v3/
Run Code Online (Sandbox Code Playgroud)
然后它产生350个任务,因为有350天的数据.
我已经禁用了schemaMerge,并且还指定了架构来读取,因此它可以转到我正在查看的分区,为什么要打印所有叶子文件?列出具有2个执行程序的叶子文件需要10分钟,查询实际执行需要20秒
代码示例:
val sparkSession = org.apache.spark.sql.SparkSession.builder.getOrCreate()
val df = sparkSession.read.option("mergeSchema","false").format("parquet").load("s3a://bucket/events_v3")
df.createOrReplaceTempView("temp_events")
sparkSession.sql(
"""
|select verb,count(*) from temp_events where event_date = "2016-01-01" group by verb
""".stripMargin).show()
Run Code Online (Sandbox Code Playgroud) partitioning amazon-s3 apache-spark parquet apache-spark-sql
partitioning ×10
apache-spark ×3
algorithm ×2
amazon-s3 ×1
big-o ×1
c# ×1
cap-theorem ×1
cassandra ×1
consistency ×1
database ×1
hive ×1
mysql ×1
parquet ×1
performance ×1
r ×1
random ×1
rdd ×1
set ×1
stable-sort ×1