Как связать массив от искры до JavaScript в Zeppelin? - PullRequest
0 голосов
/ 20 декабря 2018

Здравствуйте, я работаю с zeppelin для визуализации некоторых панелей мониторинга. Я использую интерпретатор Angularjs для отображения системы для настройки искровых запросов, поэтому я хочу добавить автозаполнение к текстовому полю ввода в angularJs, список, который будет использоваться для автозаполнения, будетсначала создайте в spark Затем я хочу связать его в zeppelinContext Затем получить этот список из углового сценария для создания сценария javascript для автозаполнения

Вот пример:

Пункт 1:

     %spark.pyspark
      cList5 =  df_ClientDataF1.select(col("type")).filter(col("type").isNotNull()).distinct().rdd.map(lambda r: r[0]).collect()
      z.z.angularBind("cList5",cList5) 

Абзац 2:

   %angular
   <form autocomplete="off">
   <div class="autocomplete" style="width:300px;">
   <input id="myInput" type="text" name="myCountry" placeholder="Country">
   </div>
   <input type="submit">
   </form>
   <script type="text/javascript">
   var element = $('#someId');
   var angularVar = 'cList5';
   var scope = angular.element(element.parent('.ng- scope')).scope().compiledScope;

     function autocomplete(inp, arr) {
    /*the autocomplete function takes two arguments,
   the text field element and an array of possible autocompleted values:*/
    var currentFocus;
 /*execute a function when someone writes in the text field:*/
      .
      .
      .
   /*initiate the autocomplete function on the "myInput" element, and pass along the countries array as possible autocomplete values:*/
     autocomplete(document.getElementById("myInput"), scope);
  </script>

Результирующая область видимости переменной - это объект, и я попытался преобразовать его в массив, но это не удалось.проблема заключается в том, как получить связанный список из искры в JavaScript как тип массива.

...