Чтобы вставить JDBC, вы можете использовать
dataframe.write.mode(SaveMode.Append).jdbc(jdbc_url,table_name,connection_properties)
Кроме того, Dataframe.write предоставляет вам DataFrameWriter и имеет некоторые методы для вставки блока данных.
def insertInto(tableName: String): Unit
Вставляет содержимое DataFrame в указанную таблицу. Это требует, чтобы схема DataFrame была такой же, как схема таблицы.
Поскольку она вставляет данные в существующую таблицу, формат или параметры будут игнорироваться.
http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.sql.DataFrameWriter
Пока ничего не удалось обновить отдельные записи из коробки из искры, хотя
Во-первых, измените свой поисковый фильтр, чтобы только искать пользователей и не контакты:
(&(objectCategory=person)(objectClass=user)(sAMAccountName=BTYNDALL))
можно перечислить все домены леса путем соединения с разделом конфигурации и перечисления всех записей в контейнере разделов. Извините у меня нет кода C# прямо сейчас, но вот некоторый код vbscript, который я использовал в прошлом:
Set objRootDSE = GetObject("LDAP://RootDSE")
AdComm.Properties("Sort on") = "name"
AdComm.CommandText = "<LDAP://cn=Partitions," & _
objRootDSE.Get("ConfigurationNamingContext") & ">;" & _
"(&(objectcategory=crossRef)(systemFlags=3));" & _
"name,nCName,dnsRoot;onelevel"
set AdRs = AdComm.Execute
, От которого можно получить имя и dnsRoot каждого раздела:
AdRs.MoveFirst
With AdRs
While Not .EOF
dnsRoot = .Fields("dnsRoot")
Set objOption = Document.createElement("OPTION")
objOption.Text = dnsRoot(0)
objOption.Value = "LDAP://" & dnsRoot(0) & "/" & .Fields("nCName").Value
Domain.Add(objOption)
.MoveNext
Wend
End With
"Домен" не является свойством объекта LDAP. Это больше похоже на название база данных , объект хранится в.
, Таким образом, необходимо соединиться с правильной базой данных (в терминах LDAP: "связывают с доменом/сервером каталогов" ) для выполнения поиска в той базе данных.
, После того как Вы связали успешно, Ваш запрос в, он - текущая форма, все, в чем Вы нуждаетесь.
BTW: Выбор "ObjectCategory=Person"
более чем "ObjectClass=user"
были хорошим решением. В AD первый - "индексируемое свойство" с превосходной производительностью, последний не индексируется и немного медленнее.
Необходимо выполнить поиск в домене:
http://msdn.microsoft.com/en-us/library/ms677934 (По сравнению с 85) .aspx Так, в основном Ваш должен связать с доменом для поиска в этом домене.
При использовании.NET используйте класс DirectorySearcher . Можно передать в домене как строка в конструктора.
// if you domain is domain.com...
string username = "user"
string domain = "LDAP://DC=domain,DC=com";
DirectorySearcher search = new DirectorySearcher(domain);
search.Filter = "(SAMAccountName=" + username + ")";