草庐IT

2Decimal

全部标签

hadoop - 是否可以在 sqoop 类型映射中指定 DECIMAL 比例和精度?

我正在尝试通过sqoop选项指定列类型映射:--map-column-hive>=DECIMAL\(15,2\)但这会返回错误:Columnmappingshouldbetheformkey=value[,key=value]*如果我删除小数位数和精度值(以及括号),那会起作用,但它默认为DECIMAL(10,0)。我需要能够指定实际值。我正在运行Sqoop版本:1.4.6 最佳答案 Sqoop1.4.7中修复了这个错误修复并不简单。例如,对于col3=decimal(1,1)列,需要编写col3=decimal(1%2C1)检查S

java - 在 native Java map reduce 中将 Parquet FIXED_LEN_BYTE_ARRAY 转换为 DECIMAL

我的底层数据是使用HIVE输出格式(org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat)编写的尝试使用nativeJavaMapreduce读取此数据byte[]b=value.getBinary(value.getType().getFieldIndex(field),0).getBytes();HiveDecimalhd=HiveDecimal.create(b,true);此处的值是org.apache.parquet.example.data.Group类型hd在这种情况下变为NULL。但下面对字符串/整

hadoop - 如何在 HIVE HQL 中将 HEX 值转换为 Decimal

我有Hive1.1,但在将HEX值转换为Decimal或BIGINT时遇到问题。使用UNHEX('2BD1BCAE0501250E')应该返回=3157512269357720846但是相反,我得到了类似WingDings=+Ѽ�%的东西我已经尝试过DECODE、ENCODE、BASE64...但似乎没有任何效果。有没有其他人尝试这样做?谢谢 最佳答案 Conv(STRINGnum,intfrom_base,intto_base)将数字从给定的基数转换为另一个数conv('2BD1BCAE0501250E',16,10)

hadoop - Hive 列从 decimal 转换为 double 导致 NULL

我的配置单元表table1表的架构如下所示[CREATETABLEtable1(p_decimal1DECIMAL(38,5))ROWFORMATDELIMITEDFIELDSTERMINATEDBY','STOREDASTEXTFILE]我在表中有以下值row:col(p_decimal1)row1:12345123451234512345123.45123在后期如果我执行selectCAST(p_decimal1ASDOUBLE)fromtable1;查询然后我得到NULL作为输出。你能解释一下为什么它会变成NULL吗?? 最佳答案

mysql - 如何使用 MySQL DECIMAL?

我不太了解MySQL的DECIMAL。我需要该行能够包含从00.0001到99.9999的任何数字。我将如何构建它以使其像这样工作? 最佳答案 DOUBLE列不与DECIMAL列相同,如果您将DOUBLE列用于财务数据,您会遇到麻烦。DOUBLE实际上只是FLOAT的double(64位而不是32位)版本.float是realnumbers的近似表示而且它们并不准确。事实上,像0.01这样的简单数字在FLOAT或DOUBLE类型中没有精确的表示。DECIMAL列是精确的表示形式,但对于更小范围的可能数字,它们会占用更多空间。要创建一

mysql - 如何使用 MySQL DECIMAL?

我不太了解MySQL的DECIMAL。我需要该行能够包含从00.0001到99.9999的任何数字。我将如何构建它以使其像这样工作? 最佳答案 DOUBLE列不与DECIMAL列相同,如果您将DOUBLE列用于财务数据,您会遇到麻烦。DOUBLE实际上只是FLOAT的double(64位而不是32位)版本.float是realnumbers的近似表示而且它们并不准确。事实上,像0.01这样的简单数字在FLOAT或DOUBLE类型中没有精确的表示。DECIMAL列是精确的表示形式,但对于更小范围的可能数字,它们会占用更多空间。要创建一

java - Android : How to get just two digit after the point in decimal value ? 不想截断值

如何获取小数点后两位的double值。例如,如果a=190253.80846153846那么结果值应该像a=190253.80尝试:我试过这个:publicstaticDecimalFormattwoDForm=newDecimalFormat("#0.00");在代码中a=Double.parseDouble(twoDForm.format(((a))));但我得到的值是190253.81而不是我想要的值190253.80那么我应该为此改变什么?? 最佳答案 因为Math.round()返回最接近参数的int。通过加1/2、取结果

android:inputType ="numberDecimal"与 InputType.TYPE_NUMBER_FLAG_DECIMAL

以下条件的计算结果为假。应该不是真的吧?editText.getInputType()==InputType.TYPE_NUMBER_FLAG_DECIMAL特别是在xml文件中,我有android:inputType="numberDecimal"调试表明editText.getInputType()=8194和InputType.TYPE_NUMBER_FLAG_DECIMAL=8192我错过了什么? 最佳答案 numberDecimal指的是TYPE_CLASS_NUMBER和TYPE_NUMBER_FLAG_DECIMAL。

android - 为什么,android中的资源在R.java中被转换为HEXA-DECIMAL

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭9年前。为什么,资源被转换成HEXAdecimal,它是否为应用程序创建了对您的资源的一些快速访问。

c++ - std::decimal::decimal64 正确用法,g++ 4.6.3

我正在研究用g++的std::decimal::decimal32/64/128类型替换我们的代码中的double以用于货币数量和价格,但是我陷入了如何最好地输入的问题并输出数据。具体来说,似乎没有任何用于从字符串转换到/从字符串转换的例程,并且stringstream机制不会为这些类型编译。我看到这样做的唯一方法是使用double作为中间类型,但是如果我们总是通过double输入和输出,这肯定至少部分地违背了使用decimal类型的目的?我确定我不理解这里的某些内容,因此欢迎就如何最好地使用这些类型提供一些反馈。编辑:我已经破解了几个输入/输出例程,但我对其中任何一个都不满意。输入几