AZURE HD INSIGHT (кластер) Импорт CSV-файла в хранилище: создание таблицы

#azure #bigdata #apache-zeppelin #azure-hdinsight

#azure #bigdata #apache-zeppelin #azure-hdinsight

Вопрос:

Я абсолютно новичок в программировании — я знаю основы, поэтому я рву на себе волосы здесь, в этом проекте.

В конечном итоге я пытаюсь связать свой кластер Hadoop с Tableau, на котором будет сосредоточена основная часть моего проекта. Я слежу за этим парнем.

Однако он не объясняет, как именно связать CSV-файл с кластером. После небольшого исследования я обнаружил, что мне нужно импортировать данные через кластер. Мне удалось импортировать CSV-файл через CloudXplorer. Теперь мне просто нужно создать таблицы.

Мне не везет через Ambari (создайте таблицу, ошибка заключается в ошибке выборки баз данных, и в любом случае он никогда не загружал мой файл в самом начале) Или на Zeppelin.

Мой код на Zeppelin следующий:

 %livy2.spark
 //The above magic instructs Zeppelin to use the Livy Scala interpreter

 // Create an RDD using the default Spark context, sc
 val SearchText = sc.textFile("wasb://test'myname'1@.blob.core.windows.net/sample/stopandsearch.csv")

 // Define a schema
 case class Search(Type: String, date: String, time: String, LATITUDE: String, LONGITUDE: String, Gender: String, Age_Range: String, Self_defined_Eth: String, Officer_defined_Eth: String, Legislation: String, Obj_Of_Search: String, Outcome: String)

 // Map the values in the .csv file to the schema
 val Search = SearchText.map(s => s.split(",")).map(
     s => Search(s(6), 
             s(1),
             s(7),
             s(3),
             s(6),
             s(7),
             s(3),
             s(7),
             s(12),
             s(12),
             s(12)
     )
 ).toDF()
 Search.registerAsTable("Search")
 Search.saveAsTable("Search")
<console>:30: error: recursive value Search needs type
            s => Search(s(6),
                 ^
<console>:42: error: value toDF is not a member of org.apache.spark.rdd.RDD[U]
possible cause: maybe a semicolon is missing before `value toDF'?
        ).toDF()
          ^  

пожалуйста, любые предложения. Любой ярлык вокруг этого, мне просто нужно вставить данные в красивые таблицы ! 🙂

Заранее спасибо.

PS Я понятия не имею, как получить ссылку на wasb? Ссылка Http для csv-файла в контейнере.

Ответ №1:

Я думаю, что этот путь неверен.

 wasb://test'myname'1@.blob.core.windows.net/sample/stopandsearch.csv"
  

это должно быть

 wasb://test'myname'1@<storageaccount>.blob.core.windows.net/sample/stopandsearch.csv"
  

Вам не хватает storageaccount, и я предполагаю, что test’myname’1 — это имя контейнера.