Обнаружить сетевое соединение из Приложения WPF/XBAP?

Похоже, что у вас не работает metastore. Вы можете попробовать запустить службу.

hive --service metastore  

. Вы можете использовать следующий код, чтобы прочитать csv, который не использует SQLContext

from pyspark.sql import SparkSession
spark = SparkSession \
    .builder \
    .appName("Reading CSV") \
    .getOrCreate()

df_t = spark.read.csv('s3a://Bucket_name/Train - Copy.csv',header=True, inferSchema=True)
df_t.show()
.
7
задан Justin Ethier 13 May 2009 в 18:56
поделиться

2 ответа

Из-за правил приоритета операторов и того факта, что ++ - постфиксный оператор, add_one_v2 () разыменовывает указатель, но ++ фактически применяется к самому указателю , Однако помните, что C всегда использует передачу по значению: add_one_v2 () увеличивает свою локальную копию указателя, что никак не повлияет на значение, хранящееся по этому адресу. .

В качестве теста замените add_one_v2 () этими битами кода и посмотрите, как это повлияет на вывод:

4
ответ дан 7 December 2019 в 07:50
поделиться

Сделайте это в функции InitializeComponent():

// Add EventHandler for NetworkAddressChanged event    
NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(AddressChangedCallback);

Вот Метод, который вызывается при возникновении события:

internal void AddressChangedCallback(object sender, EventArgs e)
{
    // Check for NetworkConnectivity
    _isInternetConnectionActive = new NetworkConnectivity().IsInternetConnected; 
}

Вот Класс NetworkConnectivity:

public class NetworkConnectivity
{
    private List<IPAddress> _ipAddresses = new List<IPAddress>();

    public NetworkConnectivity()
    {
        _ipAddresses = new List<IPAddress>();
    }

    #region Public Properties
    public int CountIPAddresses
    {
        get { return this.IPAddresses.Count; }
    }
    public List<IPAddress> IPAddresses
    {
        get
        {
            _ipAddresses.Clear();
            // Get a listing of all network adapters
            NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
            foreach (NetworkInterface adapter in adapters)
            {
                IPInterfaceProperties adapterProperties = adapter.GetIPProperties();
                GatewayIPAddressInformationCollection addresses = adapterProperties.GatewayAddresses;
                // If this adapter has at least 1 IPAddress
                if (addresses.Count > 0)
                {
                    // Loop through all IP Addresses
                    foreach (GatewayIPAddressInformation address in addresses)
                    {
                        _ipAddresses.Add(address.Address);
                    }
                }
            } 
            return _ipAddresses;
        }
    }
    public bool IsInternetConnected
    {
        get
        {
            if (this.CountIPAddresses == 0)
            {
                return false;
            }
            else
            {
                //IPAddress[] ips = ResolveDNSAddress("google.com");
                //return PingIPAddressPool(ips);
                return PingIPAddress("72.14.204.104"); // Google IP
            }
        }
    }
    #endregion

    #region Public Methods
    public IPAddress[] ResolveDNSAddress(string UrlAddress)
    {
        IPHostEntry hostInfo = Dns.Resolve(UrlAddress);
        return hostInfo.AddressList;
    }
    public bool PingIPAddressPool(IPAddress[] ipAddresses)
    {
        foreach (IPAddress ip in ipAddresses)
        {
            if (PingIPAddress(ip.Address.ToString()))
            {
                return true;
            }
        }
        return false;
    }
    public bool PingIPAddress(string ip)
    {
        // Pinging
        IPAddress addr = IPAddress.Parse(ip);
        Ping pingSender = new Ping();
        PingOptions options = new PingOptions();

        // Use the default Ttl value which is 128,
        // but change the fragmentation behavior.
        options.DontFragment = true;

        // Create a buffer of 32 bytes of data to be transmitted.
        string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
        byte[] buffer = Encoding.ASCII.GetBytes(data);
        int timeout = 15; // seconds to wait for response
        int attempts = 2; // ping attempts
        for (int i = 0; i < attempts; i++)
        {
            PingReply reply = pingSender.Send(addr, timeout, buffer, options); 
            if (reply.Status == IPStatus.Success)
            { return true; }
        }
        return false;
    }
    #endregion

}
3
ответ дан 7 December 2019 в 07:50
поделиться
Другие вопросы по тегам:

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