#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 — это имя контейнера.