小编Mar*_*ace的帖子

在java中,2的十六进制补码十进制数

我有一个十六进制字符串代表一个2的补码数.是否有一种简单的方法(库/函数)将十六进制转换为十进制而不直接使用它的位?

EG这是左侧十六进制给出的预期输出:

"0000" => 0
"7FFF" => 32767 (max positive number)
"8000" => -32768 (max negative number)
"FFFF" => -1
Run Code Online (Sandbox Code Playgroud)

谢谢!

java hex negative-number twos-complement

12
推荐指数
3
解决办法
2万
查看次数

为少数列创建具有空值的DataFrame

我正在尝试创建一个DataFrame使用RDD.

首先,我创建一个RDD使用下面的代码 -

val account = sc.parallelize(Seq(
                                 (1, null, 2,"F"), 
                                 (2, 2, 4, "F"),
                                 (3, 3, 6, "N"),
                                 (4,null,8,"F")))
Run Code Online (Sandbox Code Playgroud)

它工作正常 -

account:org.apache.spark.rdd.RDD [(Int,Any,Int,String)] = ParallelCollectionRDD [0]并行化:27

但是,当尝试创建DataFrameRDD使用下面的代码

account.toDF("ACCT_ID", "M_CD", "C_CD","IND")
Run Code Online (Sandbox Code Playgroud)

我收到了以下错误

java.lang.UnsupportedOperationException:不支持类型为Any的架构

我分析说,每当我把null值放进去的时候,Seq只有我得到了错误.

有没有办法添加空值?

scala apache-spark spark-dataframe apache-spark-dataset

12
推荐指数
2
解决办法
6986
查看次数

IntelliJ没有看到资源文件夹

我使用一个从头开始在IntelliJ中创建了一个新项目Maven Module.我没有选择任何特定的原型,我点击完成.项目得到很好的创建,我按照预期在src/main下有javaresources文件夹.

不幸的是,我的应用程序在resources文件夹中找不到任何属性文件,因为它在项目基础文件夹中查找.

我仔细检查了资源文件夹在项目结构中被标记为"源文件夹",我还尝试将以下内容添加到pom.xml中但没有成功:

<resources>
  <resource>
    <directory>src/main/resources</directory>
  </resource>
</resources>
Run Code Online (Sandbox Code Playgroud)

我正在使用Maven 2.2.1和IntelliJ 11.1,有什么想法?

maven-2 properties intellij-idea file-not-found

11
推荐指数
3
解决办法
2万
查看次数

JDBC批量插入是SLOW!我的意思是,真的很慢?

这是交易:

  1. 我创建了一个连接conn使用DriverManager
  2. 我设置 conn.autoCommit(false);
  3. 然后我有 PreparedStatement pStat = conn.prepareStatement(insert_string_with_parameter);
  4. 我用pStat.set设置了几个参数...然后我添加批处理 pStat.addBatch();
  5. 每打10000行(我打addBatch()10000次),我打电话pStat.executeBatch();
  6. 不确定是否需要,但我也pStat.clearBatch()马上致电

即使以上所有听起来都不错,这也很慢!.

我每秒平均只有35条记录(总共只有8列,只有技术自动递增主键和一些非空约束).我估计我需要一周时间插入所有20M行...

我做错了吗?

我应该尝试在每个批次循环中添加多少行?10000太多了?

java performance jdbc insert batch-file

8
推荐指数
1
解决办法
2914
查看次数

选择正确的Lucene目录

有许多类型的目录类型可用于构建Lucene索引.哪一个最适合提高RedHat机器的搜索速度(不确定操作系统是否相关)?

  • RAMDirectory - 不能用,索引太大了
  • SimpleFSDirectory - 不能是这个,因为它'简单'......
  • MMapDirectory - 也许这个?
  • NIOFSDirectory - 或者这个?
  • Any better options?

java lucene full-text-search

8
推荐指数
1
解决办法
2115
查看次数

EMR集群中的"LOST"节点

如何在长时间运行的EMR群集中对故障节点进行故障排除和恢复?

该节点几天前就停止了报告.主机看起来很好,也是HDFS.我只是从Hadoop Applications UI中注意到了这个问题.

hadoop mapreduce emr hadoop2

8
推荐指数
1
解决办法
1015
查看次数

为什么是myString.equals("aString"); 不同于"aString".equals(myString);?

我听过几次使用boolean equals(Object o)比较时Strings,最好将常量放在函数的左侧,如下所示:

  • 不好:myString.equals("aString");
  • 好:"aString".equals(myString);

为什么是这样?

java string equals

7
推荐指数
1
解决办法
625
查看次数

增加Hadoop 2中的Hive映射器数量

我从Hive创建了一个HBase表,我正在尝试对它进行简单的聚合.这是我的Hive查询:

from my_hbase_table 
select col1, count(1) 
group by col1;
Run Code Online (Sandbox Code Playgroud)

地图减少作业只产生2个映射器,我想增加它.使用普通地图缩小作业,我将配置纱线和映射器内存以增加映射器的数量.我在Hive中尝试了以下操作,但它不起作用:

set yarn.nodemanager.resource.cpu-vcores=16;
set yarn.nodemanager.resource.memory-mb=32768;
set mapreduce.map.cpu.vcores=1;
set mapreduce.map.memory.mb=2048;
Run Code Online (Sandbox Code Playgroud)

注意:

  • 我的测试集群只有2个节点
  • HBase表有超过5M的记录
  • Hive日志显示HiveInputFormat和一些splits = 2

java hadoop hbase hive hadoop2

7
推荐指数
2
解决办法
3万
查看次数

Spark Scala:无法导入sqlContext.implicits._

我尝试了下面的代码,无法导入sqlContext.implicits._- 它抛出一个错误(在Scala IDE中),无法构建代码:

value implicits不是org.apache.spark.sql.SQLContext的成员

我是否需要添加任何依赖项pom.xml

Spark版本1.5.2

package com.Spark.ConnectToHadoop

import org.apache.spark.SparkConf
import org.apache.spark.SparkConf
import org.apache.spark._
import org.apache.spark.sql._
import org.apache.spark.sql.hive.HiveContext
import org.apache.spark.sql.SQLContext
import org.apache.spark.rdd.RDD
//import groovy.sql.Sql.CreateStatementCommand

//import org.apache.spark.SparkConf


object CountWords  {

  def main(args:Array[String]){

    val objConf = new SparkConf().setAppName("Spark Connection").setMaster("spark://IP:7077")
    var sc = new SparkContext(objConf)
val objHiveContext = new HiveContext(sc)
objHiveContext.sql("USE test")
var rdd= objHiveContext.sql("select * from Table1")
val options=Map("path" -> "hdfs://URL/apps/hive/warehouse/test.db/TableName")
//val sqlContext = new org.apache.spark.sql.SQLContext(sc)
   val sqlContext = new SQLContext(sc)
    import sqlContext.implicits._      //Error
val dataframe = …
Run Code Online (Sandbox Code Playgroud)

scala maven apache-spark apache-spark-sql

7
推荐指数
3
解决办法
1万
查看次数

无法解析Spark Dataframe中的列(数字列名称)

这是我的数据:

scala> data.printSchema
root
 |-- 1.0: string (nullable = true)
 |-- 2.0: string (nullable = true)
 |-- 3.0: string (nullable = true)
Run Code Online (Sandbox Code Playgroud)

这不起作用:(

scala> data.select("2.0").show
Run Code Online (Sandbox Code Playgroud)

例外:

org.apache.spark.sql.AnalysisException: cannot resolve '`2.0`' given input columns: [1.0, 2.0, 3.0];;
'Project ['2.0]
+- Project [_1#5608 AS 1.0#5615, _2#5609 AS 2.0#5616, _3#5610 AS 3.0#5617]
   +- LocalRelation [_1#5608, _2#5609, _3#5610]
        ...
Run Code Online (Sandbox Code Playgroud)

在家尝试一下(我正在外壳程序v_2.1.0.5上运行)!

val data = spark.createDataFrame(Seq(
  ("Hello", ", ", "World!")
)).toDF("1.0", "2.0", "3.0")
data.select("2.0").show
Run Code Online (Sandbox Code Playgroud)

scala apache-spark spark-dataframe

7
推荐指数
2
解决办法
8102
查看次数