Каков содержащий диапазон плавания и дважды в Java?

«400 Bad Request» довольно бесполезен, и S3A не только мало что дает, но и S3A-соединитель не печатает даты, так как он связан с аутентификацией. В есть большой раздел, посвященный устранению ошибки

Тот факт, что он получил запрос, означает, что он имеет некоторые учетные данные, только дальнему концу они не нравятся

[ 1116] Возможности

  • Ваша роль IAM не имеет разрешений для s3: ListBucket. См. Разрешения роли IAM для работы с s3a
  • неверное имя вашего сегмента
  • В fs.s3a или в параметрах AWS_ env есть некоторые параметры, которые получают приоритет над ролью IAM и они не правы.

Вы должны автоматически использовать аутентификацию IAM в качестве механизма аутентификации с разъемом S3A; последний проверяется после: config & amp; env vars.

  1. Посмотрите, что установлено в fs.s3a.aws.credentials.provider - оно должно быть не задано или содержать опцию com.amazonaws.auth.InstanceProfileCredentialsProvider
  2. , при условии, что у вас также есть hadoop в командной строке, захватите [116 ] storeiag
hadoop jar cloudstore-0.1-SNAPSHOT.jar storediag s3a://testmys3/

он должен выбросить то, что он делает относительно аутентификации.

Обновление

Как прокомментировал оригинальный автор, это произошло из-за необходимости аутентификации v4 на конкретной конечной точке S3. Это можно включить в версии 2.7x клиента s3a, но только через системные свойства Java. Для 2.8+ есть несколько fs.s3a. опции, которые вы можете установить вместо этого

23
задан 9 revs, 5 users 41% 5 June 2012 в 17:08
поделиться

4 ответа

Класс Java Double содержит члены, содержащие значения Min и Max для типа.

2^-1074 <= x <= (2-2^-52)·2^1023 // where x is the double.

Проверьте Min_VALUE и MAX_VALUE статические конечные элементы Double.

(некоторые) Люди будут предлагать не использовать типы с плавающей запятой для вещей, где точность и точность имеют решающее значение, поскольку ошибки округления могут отбросить вычисления на измеримые (небольшие) величины.

22
ответ дан 29 November 2019 в 01:05
поделиться

Конечно, вы можете использовать числа с плавающей запятой или двойные для «критических» вещей ... Многие приложения ничего не делают, только сокращают числа, используя эти типы данных.

Возможно, вы неправильно поняли некоторые предостережения относительно чисел с плавающей запятой, например, рекомендацию никогда не сравнивать для точного равенства и т. Д.

3
ответ дан 29 November 2019 в 01:05
поделиться

Из Типы данных примитивов :

  • float: Тип данных float является 32-битным одинарной точностью IEEE 754 плавающая точка. Диапазон значений: за рамками этого обсуждения, но указано в разделе 4.2.3 Спецификации языка Java. Как с рекомендациями для байта и short , используйте float (вместо double ), если вам нужно сохранить память в больших массивах с плавающей запятой числа. Этот тип данных никогда не должен использоваться для точных значений, таких как валюта. Для этого вам понадобится используйте java.math.BigDecimal класс вместо этого. Числа и Строки охватывают BigDecimal и другие полезные классы, предоставляемые Платформа Java.

  • double : Тип данных double является 64-битным IEEE 754 с двойной точностью. плавающая точка. Диапазон значений: за рамками этого обсуждения, но указано в разделе 4.2.3 Спецификации языка Java. Для десятичных значений этот тип данных обычно выбор по умолчанию. Как упомянутый выше, этот тип данных должен никогда не использовать для точных значений, например в качестве валюты.

Диапазон значений см. в разделе 4.2.3 Типы, форматы и значения с плавающей запятой JLS.

6
ответ дан 29 November 2019 в 01:05
поделиться

Двоичные числа с плавающей запятой имеют интересные характеристики точности, поскольку значение хранится как двоичное целое число, возведенное в степень двоичного разряда. При работе с субцелочисленными значениями (то есть значениями от 0 до 1) отрицательные степени двух «округляются» совсем иначе, чем отрицательные степени десяти.

Например, число 0,1 может быть представлено как 1 x 10 -1 , но не существует комбинации экспоненты с основанием 2 и мантиссы, которая могла бы точно представлять 0,1 - самое близкое, что вы получите, это 0,10000000000000001.

Итак, если у вас есть приложение, в котором вы работаете со значениями например 0,1 или 0,01, но там, где небольшие (менее 0,000000000000001%) ошибки недопустимы, двоичные числа с плавающей запятой не для вас.

И наоборот, если степени десяти не являются "особенными" в ваше приложение (степени десяти важны в расчетах валют, но не, скажем, в большинстве приложений физики), тогда вам на самом деле лучше использовать двоичные числа с плавающей запятой, поскольку они обычно как минимум на порядок быстрее, и намного более эффективен с точки зрения памяти.

Статья из документации Python о проблемах и ограничениях с плавающей запятой отлично объясняет эту проблему в простой для понимания форме. В Википедии также есть хорошая статья о с плавающей запятой , в которой объясняется математика, лежащая в основе представления.

и это намного более эффективно с точки зрения памяти.

Статья из документации Python по проблемам и ограничениям с плавающей запятой отлично объясняет эту проблему в простой для понимания форме. В Википедии также есть хорошая статья о с плавающей запятой , в которой объясняется математика, лежащая в основе представления.

и это намного более эффективно с точки зрения памяти.

Статья из документации Python о проблемах и ограничениях с плавающей запятой отлично объясняет эту проблему в простой для понимания форме. В Википедии также есть хорошая статья о с плавающей запятой , в которой объясняется математика, лежащая в основе представления.

8
ответ дан 29 November 2019 в 01:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: