У меня есть таблица Hbase, который загружается через API HBase Java, как так: (. В случае, если переменная value
является нормальным ява поплавок)Загрузка таблицы Hbase с помощью Pig. Float дает FIELD_DISCARDED_TYPE_CONVERSION_FAILED
put.add(Bytes.toBytes(HBaseConnection.FAMILY_NAME), Bytes.toBytes("value"), Bytes.toBytes(value));
я перехожу к загрузке это с Свиньи следующим образом:
raw = LOAD 'hbase://tableName' USING org.apache.pig.backend.hadoop.hbase.HBaseStorage('family:value', '-loadKey true -limit 5') AS (id:chararray, value:float);
Однако, когда я сваливать это с:
dump raw;
я получаю:
[main] WARN org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - Encountered Warning FIELD_DISCARDED_TYPE_CONVERSION_FAILED 5 time(s).
для каждого значения с плавающей точкой. Идентификаторы напечатаны в порядке.
Im работает:
- Apache Hadoop 0.20.2.05
- Pig 0.9.2
- Hbase 0.92.0
Мой вопрос: Почему я не свинья ручка тезисы всплывают значение? Что я делаю не так?
Попробуйте использовать элемент 'AS (id: chararray, value: float)'. Что он сбрасывает? Попробуйте преобразовать значение в String перед вызовом Bytes.toBytes на нем, просто чтобы узнать, в чем проблема. –
Я удалил предложение «как», как вам было предложено, но все, что я получаю, - это странно выглядящие символы Udf-8 (поскольку данные двоичные). –