Hbase / Справка Запроса Hadoop

Но когда я пытаюсь напечатать его содержимое, используя JSON.stringify, я получаю: {} (пустой файл).

blockquote>

Это не содержимое файла JSON. Это Файловый объект . Для чтения содержимого JSON необходимо использовать FileReader

onFileChanged(event) {
  this.selectedFile = event.target.files[0];
  const fileReader = new FileReader();
  fileReader.readAsText(this.selectedFile, "UTF-8");
  fileReader.onload = () => {
   console.log(JSON.parse(fileReader.result));
  }
  fileReader.onerror = (error) => {
    console.log(error);
  }
}
.
19
задан zechariahs 7 September 2008 в 02:14
поделиться

6 ответов

Я думаю, что Вы, как многие из нас, делаете ошибку обработки bigtable и HBase как просто другой RDBMS, когда это - на самом деле ориентированная на столбец модель хранения, предназначенная для того, чтобы эффективно сохранить и получить большие наборы редких данных. Это означает хранить, идеально, many-one отношения в одной строке, например. Ваши запросы должны возвратить очень немного строк, но содержать (потенциально) много точек данных.

, Возможно, если Вы сказали нам больше о том, что Вы пытались сохранить, мы могли помочь Вам разработать свою схему для соответствия bigtable/HBase способу сделать вещи.

Для хорошего краткого изложения того, что HBase делает по-другому, чем "традиционный" RDBMS, проверьте эту потрясающую статью: Импеданс согласования: Когда использовать HBase Bryan Duxbury.

20
ответ дан 30 November 2019 в 04:33
поделиться

Я посмотрел на Hadoop и Hbase и как сказанный Sean, я скоро понял, что он не дал мне, что я на самом деле хотел, который был кластеризованной совместимой базой данных JDBC.

я думаю, что Вы могли быть более обеспеченным использованием чего-то как C-JDBC или HA-JDBC , которые кажутся больше как то, чем я был, был после. (Лично, я не имею дальше ни с одним из них кроме чтения документации, таким образом, я не могу сказать, кто из них хорошо работает, если таковые имеются.)

1
ответ дан 30 November 2019 в 04:33
поделиться

Я рекомендовал бы смотреть на проект Apache Hive, который подобен HBase (в том смысле, что это - распределенная база данных), который реализует язык SQL-esque.

1
ответ дан 30 November 2019 в 04:33
поделиться

Спасибо за ответ Sean, и жаль о моем последнем ответе. Я часто делаю ошибку обработки HBase как RDBMS. Так часто на самом деле, что я должен был переписать код из-за этого! Это - такая твердая вещь разучиться.

Прямо сейчас у нас есть только 4 таблицы. Который, в этом случае, является очень немногими рассматривающими мое образование. Я просто надеялся использовать приблизительно функциональность RDBMS, главным образом придерживаясь ориентированной на столбец модели хранения.

0
ответ дан 30 November 2019 в 04:33
поделиться

Рад слышать, что вы, ребята, используете HBase! Я не эксперт ни в каком смысле, но вот пара вещей, которые могут помочь.

  • HBase основан на BigTable / вдохновлен им, который, как оказалось, предоставляется AppEngine в качестве их db api, поэтому просмотр их документации должен очень помочь, если вы работаете над веб-приложением.

  • Если вы не работаете над веб-приложением, то итерация, которую вы описываете, обычно выполняется через map / уменьшить (не выдавать значения, которые вам не нужны). Пропуск значений с помощью итераторов практически гарантирует, что в вашем приложении будут узкие места с наборами данных размером с HBase. Если вы обнаружите, что все еще думаете на SQL, ознакомьтесь с учебником Cloudera о свиньях и руководством по улью.

0
ответ дан 30 November 2019 в 04:33
поделиться

Если вы хотите доступ к HBase с помощью языка запросов и драйвера JDBC возможен. Пол Амброуз выпустил библиотеку под названием HBQL на hbql.com, которая поможет вам в этом. Я использовал его в нескольких проектах, и он хорошо работает. Очевидно, что у вас не будет доступа к полному SQL, но это немного упрощает его использование.

2
ответ дан 30 November 2019 в 04:33
поделиться
Другие вопросы по тегам:

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