小编Moh*_*han的帖子

我应该为一个非常大的数据集使用`HashSet`或`TreeSet`吗?

我需要String在数据结构中存储2到1,500万个帐户(长度为15),以便查找和检查唯一性.最初我计划将它们存储在a中HashSet,但是我怀疑由于散列冲突,查找的速度会很慢,并且最终会比TreeMap慢(使用二进制搜索).

不需要对数据进行排序.我正在使用Java 7.我有64G系统,48G专用于此应用程序.

这个问题不是HashSet和TreeSet性能测试的重复,因为这个问题是关于向a添加元素Set的性能,这个问题是关于检查现有的重复值的性能.Set

java performance hashset treeset

8
推荐指数
2
解决办法
1690
查看次数

PHOENIX SPARK - 将表加载为DataFrame

我已经从HBase表(PHOENIX)创建了一个DataFrame,它有5亿行.在DataFrame中,我创建了一个JavaBean的RDD,并使用它来连接文件中的数据.

Map<String, String> phoenixInfoMap = new HashMap<String, String>();
phoenixInfoMap.put("table", tableName);
phoenixInfoMap.put("zkUrl", zkURL);
DataFrame df = sqlContext.read().format("org.apache.phoenix.spark").options(phoenixInfoMap).load();
JavaRDD<Row> tableRows = df.toJavaRDD();
JavaPairRDD<String, AccountModel> dbData = tableRows.mapToPair(
new PairFunction<Row, String, String>()
{
    @Override
    public Tuple2<String, String> call(Row row) throws Exception
    {
        return new Tuple2<String, String>(row.getAs("ID"), row.getAs("NAME"));
    }
});
Run Code Online (Sandbox Code Playgroud)

现在我的问题 - 让我们说该文件有2个与该表匹配的唯一百万条目.整个表是作为RDD加载到内存中还是只有表中匹配的200万条记录将作为RDD加载到内存中?

phoenix dataframe apache-spark

5
推荐指数
1
解决办法
1836
查看次数

标签 统计

apache-spark ×1

dataframe ×1

hashset ×1

java ×1

performance ×1

phoenix ×1

treeset ×1