You are reading the article How Pyspark To_Date Works In Pyspark? updated in November 2023 on the website Minhminhbmm.com. We hope that the information we have shared is helpful to you. If you find the content interesting and meaningful, please share it with your friends and continue to follow and support us for the latest updates. Suggested December 2023 How Pyspark To_Date Works In Pyspark?
Introduction to PySpark to_DatePySpark To_Date is a function in PySpark that is used to convert the String into Date Format in PySpark data model. This to_Date function is used to format a string type column in PySpark into the Date Type column. This is an important and most commonly used method in PySpark as the conversion of date makes the data model easy for data analysis that is based on date format. This to_Date method takes up the column value as the input function and the pattern of the date is then decided as the second argument which converts the date to the first argument. The converted column is of the type pyspark.sql.types.DateType .
Start Your Free Software Development Course
Web development, programming languages, Software testing & others
In this article, we will try to analyze the various ways of using the PYSPARK To_Date operation PySpark.
Syntax:
from pyspark.sql.functions import * df2 = df1.select(to_date(df1.timestamp).alias('to_Date')) df.show()The import function in PySpark is used to import the function needed for conversion.
Df1:- The data frame to be used for conversion
To_date:- The to date function taking the column value as the input parameter with alias value as the new column name.
Df2:- The new data frame selected after conversion.
Screenshot:
Working of To_Date in PySparkLet’s check the creation and working of PySpark To_Date with some coding examples.
ExamplesLet’s start by creating a simple data frame in PySpark.
df1=spark.createDataFrame( data = [ ("1","Arpit","2023-07-24 12:01:19.000"),("2","Anand","2023-07-22 13:02:20.000"),("3","Mike","2023-07-25 03:03:13.001")], schema=["id","Name","timestamp"]) df1.printSchema()Output:
df1.show()Screenshot:
Now we will try to convert the timestamp column using the to_date function in the data frame.
We will start by importing the required functions from it.
from pyspark.sql.functions import *This will import the necessary function out of it that will be used for conversion.
df1.select(to_date(df1.timestamp).alias('to_Date'))We will start by selecting the column value that needs to be converted into date column value. Here the df1.timestamp function will be used for conversion. This will return a new data frame with the alias value used.
Screenshot:
df1.select(to_date(df1.timestamp).alias('to_Date')).collect()We will try to collect the data frame and check the converted date column.
[Row(to_Date=datetime.date(2023, 7, 24)), Row(to_Date=datetime.date(2023, 7, 22)), Row(to_Date=datetime.date(2023, 7, 25))] df2 = df1.select(to_date(df1.timestamp).alias('to_Date'))This will convert the column value to date function and the result is stored in the new data frame. which can be further used for data analysis.
df2.show()Let us try to check this with one more example giving the format of the date before conversion.
df = spark.createDataFrame([('2023-07-19 11:30:00',)], ['date'])This is used for creation of Date frame that has a column value as a date which we will use for conversion in which we can pass the format that can be used for conversion purposes.
df.select(to_date(df.date, 'yyyy-MM-dd HH:mm:ss').alias('date')).collect()This converts the given format into To_Date and collected as result.
Screenshot:
This to date function can also be used with PySpark SQL function using the to_Date function in the PySpark. We just need to pass this function and the conversion is done.
spark.sql("select to_date('03-02-2023','MM-dd-yyyy') converted_date").show()This is the converted date used that can be used and this gives up the idea of how this to_date function can be used using the chúng tôi function.
Screenshot:
spark.sql("select to_date('2023-04-03','yyyy-dd-MM') converted_date").show()Screenshot:
These are some of the Examples of PySpark to_Date in PySpark.
Note:
1. It is used to convert the string function into Date.
2. It takes the format as an argument provided.
3. It accurately considers the date of data by which it changes up that is used precisely for data analysis.
4. It takes date frame column as a parameter for conversion.
ConclusionFrom the above article, we saw the working of TO_DATE in PySpark. From various example and classification, we tried to understand how this TO_DATE FUNCTION ARE USED in PySpark and what are is used in the programming level. The various methods used showed how it eases the pattern for data analysis and a cost-efficient model for the same.
Recommended ArticlesWe hope that this EDUCBA information on “PySpark to_Date” was beneficial to you. You can view EDUCBA’s recommended articles for more information.
You're reading How Pyspark To_Date Works In Pyspark?
Pyspark For Beginners – Take Your First Steps Into Big Data Analytics (With Code)
Overview
Big Data is becoming bigger by the day, and at an unprecedented pace
How do you store, process and use this amount of data for machine learning? There’s where Spark comes into play
Learn all about what Spark is, how it works, and what are the different components involved
IntroductionWe are generating data at an unprecedented pace. Honestly, I can’t keep up with the sheer volume of data around the world! I’m sure you’ve come across an estimate of how much data is being produced – McKinsey, Gartner, IBM, etc. all offer their own figures.
Here are some mind-boggling numbers for your reference – more than 500 million tweets, 90 billion emails, 65 million WhatsApp messages are sent – all in a single day! 4 Petabytes of data are generated only on Facebook in 24 hours. That’s incredible!
This, of course, comes with challenges of its own. How does a data science team capture this amount of data? How do you process it and build machine learning models from it? These are exciting questions if you’re a data scientist or a data engineer.
And this is where Spark comes into the picture. Spark is written in Scala and it provides APIs to work with Scala, JAVA, Python, and R. PySpark is the Python API written in Python to support Spark.
One traditional way to handle Big Data is to use a distributed framework like Hadoop but these frameworks require a lot of read-write operations on a hard disk which makes it very expensive in terms of time and speed. Computational power is a significant hurdle.
PySpark deals with this in an efficient and easy-to-understand manner. So in this article, we will start learning all about it. We’ll understand what is Spark, how to install it on your machine and then we’ll deep dive into the different Spark components. There’s a whole bunch of code here too so let’s have some fun!
Here’s a quick introduction to the world of Big Data in case you need a refresher. Keep in mind that the numbers have gone well beyond what’s shown there – and it’s only been 3 years since we published that article!
Table of Contents
What is Spark?
Installing Apache Spark on your Machine
What are Spark Applications?
Then, what is a Spark Session?
Partitions in Spark
Transformations
Lazy Evaluation in Spark
Data Types in Spark
What is Spark?Apache Spark is an open-source, distributed cluster computing framework that is used for fast processing, querying and analyzing Big Data.
It is the most effective data processing framework in enterprises today. It’s true that the cost of Spark is high as it requires a lot of RAM for in-memory computation but is still a hot favorite among Data Scientists and Big Data Engineers. And you’ll see why that’s the case in this article.
Organizations that typically relied on Map Reduce-like frameworks are now shifting to the Apache Spark framework. Spark not only performs in-memory computing but it’s 100 times faster than Map Reduce frameworks like Hadoop. Spark is a big hit among data scientists as it distributes and caches data in memory and helps them in optimizing machine learning algorithms on Big Data.
I recommend checking out Spark’s official page here for more details. It has extensive documentation and is a good reference guide for all things Spark.
Installing Apache Spark on your Machine 1. Download Apache SparkOne simple way to install Spark is via pip. But that’s not the recommended method according to Spark’s official documentation since the Python package for Spark is not intended to replace all the other use cases.
There’s a high chance you’ll encounter a lot of errors in implementing even basic functionalities. It is only suitable for interacting with an existing cluster (be it standalone Spark, YARN, or Mesos).
So, the first step is to download the latest version of Apache Spark from here. Unzip and move the compressed file:
tar xzvf chúng tôi mv spark-2.4.4-bin-hadoop2.7 spark sudo mv spark/ /usr/lib/ 2. Install JAVAMake sure that JAVA is installed in your system. I highly recommend JAVA 8 as Spark version 2 is known to have problems with JAVA 9 and beyond:
sudo apt install default-jre sudo apt install openjdk-8-jdk 3. Install Scala Build Tool (SBT)When you are working on a small project that contains very few source code files, it is easier to compile them manually. But what if you are working on a bigger project that has hundreds of source code files? You would need to use build tools in that case.
SBT, short for Scala Build Tool, manages your Spark project and also the dependencies of the libraries that you have used in your code.
Keep in mind that you don’t need to install this if you are using PySpark. But if you are using JAVA or Scala to build Spark applications, then you need to install SBT on your machine. Run the below commands to install SBT:
sudo apt-get update sudo apt-get install sbt
4. Configure SPARKNext, open the configuration directory of Spark and make a copy of the default Spark environment template. This is already present there as spark-env.sh.template. Open this using the editor:
cd /usr/lib/spark/conf/ cp spark-env.sh.template chúng tôi sudo gedit spark-env.shNow, in the file chúng tôi , add the JAVA_HOME path and assign memory limit to SPARK_WORKER_MEMORY. Here, I have assigned it to be 4GB:
## add variables JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 SPARK_WORKER_MEMORY=4g 5. Set Spark Environment VariablesOpen and edit the bashrc file using the below command. This bashrc file is a script that is executed whenever you start a new terminal session:
## open bashrc file sudo gedit ~/bashrcAdd the below environment variables in the file:
## add following variables export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export SBT_HOME=/usr/share/sbt/bin/sbt-launch.jar export SPARK_HOME=/usr/lib/spark export PATH=$PATH:$JAVA_HOME/bin export PATH=$PATH:$SBT_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin export PYSPARK_DRIVER_PYTHON=jupyter export PYSPARK_DRIVER_PYTHON_OPTS='notebook' export PYSPARK_PYTHON=python3 export PYTHONPATH=$SPARK_HOME/python:$PYTHONPATHNow, source the bashrc file. This will restart the terminal session with the updated script:
## source bashrc file source ~/.bashrc What are Spark Applications?A Spark application is an instance of the Spark Context. It consists of a driver process and a set of executor processes.
The driver process is responsible for maintaining information about the Spark Application, responding to the code, distributing, and scheduling work across the executors. The driver process is absolutely essential – it’s the heart of a Spark Application and maintains all relevant information during the lifetime of the application
The executors are responsible for actually executing the work that the driver assigns them. So, each executor is responsible for only two things:
Executing code assigned to it by the driver, and
Reporting the state of the computation, on that executor, back to the driver node
Then what is a Spark Session?We know that a driver process controls the Spark Application. The driver process makes itself available to the user as an object called the Spark Session.
The Spark Session instance is the way Spark executes user-defined manipulations across the cluster. In Scala and Python, the Spark Session variable is available as spark when you start up the console:
Partitions in SparkPartitioning means that the complete data is not present in a single place. It is divided into multiple chunks and these chunks are placed on different nodes.
If you have one partition, Spark will only have a parallelism of one, even if you have thousands of executors. Also, if you have many partitions but only one executor, Spark will still only have a parallelism of one because there is only one computation resource.
In Spark, the lower level APIs allow us to define the number of partitions.
Let’s take a simple example to understand how partitioning helps us to give faster results. We will create a list of 20 million random numbers between 10 to 1000 and will count the numbers greater than 200.
Let’s see how fast we can do this with just one partition:
It took 34.5 ms to filter the results with one partition:
Now, let’s increase the number of partitions to 5 and check if we get any improvements in the execution time:
It took 11.1 ms to filter the results using five partitions:
Transformations in SparkData structures are immutable in Spark. This means that they cannot be changed once created. But if we cannot change it, how are we supposed to use it?
So, In order to make any change, we need to instruct Spark on how we would like to modify our data. These instructions are called transformations.
Recall the example we saw above. We asked Spark to filter the numbers greater than 200 – that was essentially one type of transformation. There are two types of transformations in Spark:
Narrow Transformation: In Narrow Transformations, a
ll the elements that are required to compute the results of a single partition live in the single partition of the parent RDD. For example, if you want to filter the numbers that are less than 100, you can do this on each partition separately. The transformed new partition is dependent on only one partition to calculate the results
Wide Transformation: In Wide Transformations, all the elements that are required to compute the results of single partitions may live in more than one partition of the parent RDD. For example, if you want to calculate the word count, then your transformation is dependent on all the partitions to calculate the final result
Lazy EvaluationLet’s say you have a very large data file that contains millions of rows. You need to perform analysis on that by doing some manipulations like mapping, filtering, random split or even very basic addition or subtraction.
Now, for large datasets, even a basic transformation will take millions of operations to execute.
It is essential to optimize these operations when working with Big Data, and Spark handles it in a very creative way. All you need to do is tell Spark what are the transformations you want to do on the dataset and Spark will maintain a series of transformations. When you ask for the results from Spark, it will then find out the best path and perform the required transformations and give you the result.
Now, let’s take an example. You have a text file of 1 GB and have created 10 partitions of it. You also performed some transformations and in the end, you requested to see how the first line looks. In this case, Spark will read the file only from the first partition and give you the results as your requested results do not require to read the complete file.
Let’s take a few practical examples to see how Spark performs lazy evaluation. In the first step, we have created a list of 10 million numbers and created a RDD with 3 partitions:
Next, we will perform a very basic transformation, like adding 4 to each number. Note that Spark at this point in time has not started any transformation. It only records a series of transformations in the form of RDD Lineage. You can see that RDD lineage using the function toDebugString:
We can see that PythonRDD[1] is connected with ParallelCollectionRDD[0]. Now, let’s go ahead and add one more transformation to add 20 to all the elements of the list.
You might be thinking it would be better if added 24 in a single step instead of making an extra step. But check the RDD Lineage after this step:
We can see that it has automatically skipped that redundant step and will add 24 in a single step instead of how we defined it. So, Spark automatically defines the best path to perform any action and only perform the transformations when required.
Let’s take another example to understand the Lazy Evaluation process.
Suppose we have a text file and we created an RDD of it with 4 partitions. Now, we define some transformations like converting the text data to lower case, slicing the words, adding some prefix to the words, etc.
But in the end, when we perform an action like getting the first element of the transformed data, Spark performs the transformations on the first partition only as there is no need to view the complete data to execute the requested result:
View the code on Gist.
Here, we have converted the words to lower case and sliced the first two characters of each word (and then requested for the first word).
What happened here? We created 4 partitions of the text file. But according to the result we needed, it was not required to read and perform transformations on all the partitions, hence Spark only did that.
What if we want to count the unique words? Then we need to read all the partitions and that’s exactly what Spark does:
Data Types in Spark MLlibMLlib is Spark’s scalable Machine Learning library. It consists of common machine learning algorithms like Regression, Classification, Dimensionality Reduction, and some utilities to perform basic statistical operations on the data.
In this article, we will go through some of the data types that MLlib provides. We’ll cover topics like feature extraction and building machine learning pipelines in upcoming articles.
Local VectorMLlib supports two types of Local Vectors: dense and sparse. Sparse Vectors are used when most of the numbers are zero. To create a sparse vector, you need to provide the length of the vector – indices of non-zero values which should be strictly increasing and non-zero values.
View the code on Gist.
Labeled PointLabeled Point is a local vector where a label is assigned to each vector. You must have solved supervised problems where you have some target corresponding to some features. Label Point is exactly the same where you provide a vector as a set of features and a label associated with it.
View the code on Gist.
Local MatrixView the code on Gist.
Distributed MatrixDistributed matrices are stored in one or more RDDs. It is very important to choose the right format of distributed matrices. Four types of distributed matrices have been implemented so far:
Row Matrix
Each row is a local vector. You can store rows on multiple partitions
Algorithms like Random Forest can be implemented using Row Matrix as the algorithm divides the rows to create multiple trees. The result of one tree is not dependent on other trees. So, we can make use of the distributed architecture and do parallel processing for algorithms like Random Forest for Big Data
View the code on Gist.
Indexed Row Matrix
It is similar to the row matrix where rows are stored in multiple partitions but in an ordered manner. An index value is assigned to each row. It is used in algorithms where the order is important like Time Series data
It can be created from an RDD of IndexedRow
View the code on Gist.
Coordinate Matrix
A coordinate matrix can be created from an RDD of MatrixEntry
We only use a Coordinate matrix when both the dimensions of the matrix are large
View the code on Gist.
Block Matrix
In a Block Matrix, we can store different sub-matrices of a large matrix on different machines
We need to specify the block dimensions. Like in the below example, we have 3X3 and for each of the blocks, we can specify a matrix by providing the coordinates
View the code on Gist.
End NotesWe’ve covered quite a lot of ground today. Spark is one of the more fascinating languages in data science and one I feel you should at least be familiar with.
This is just the start of our PySpark learning journey! I plan to cover a lot more ground in this series with multiple articles spanning different machine learning tasks.
Related
How Delegate Works In Kotlin
Introduction to Kotlin delegate
The kotlin delegate is one of the design patterns that can be used to implement the application concepts like inheritance with the help of keywords like “by” or delegation methodology it’s used to derive the class to public access it implements with the other concepts like interface that allowed to call the specific object delegate used other keywords like public, default also the lazy values gets computed only in the parent classes also created anonymous objects without creating a class using the interfaces, properties and other default standard libraries other delegation types like explicit it supports oops and other delegation objects.
Start Your Free Software Development Course
Syntax of Kotlin delegateIn kotlin language, we used many default keywords, variables, and other built-in functions. Like that delegate is one of the concepts and the design pattern which helps to implement the application. With the help of “By” keyword we can achieve the delegation in the kotlin language.
interface first{ ---functions declaration— } class classname() : first{ ---override the function declaration with name which is used by the interface— } class name2(variable: interface name(first)) : first by variable fun main() { --some logic codes depends on the requirement— }The above code is the basic syntax for utilizing the kotlin delegation in the application.
How does delegate work in Kotlin?The kotlin language has many design patterns like java and other languages. Each design pattern has implemented its own logic and reduces the code complexity easily track the codes with other new users. Like that delegation is one of the design patterns and it is used to replace or on behalf of the other values the object request is received by one variable and instead of that variable will use another variable with the same logic and output results.
So that it is one of the easiest methods for providing support for both class and other properties that can be delegated to the pre-built in classes and methods. Generally, the kotlin delegation is achieved using the “by” keyword that delegates the kotlin functionality from the other interfaces with other methods. Each method has a separate behavior and its attribute.
In delegates, it is especially used to inherit from the particular class that may be the hierarchy one, and the same will be shared with the interface and decorates both internal and external objects of the original type. This can be achieved using the public APIs that delegate with the properties which are either set and get calls handling by using the object.
Examples of Kotlin delegateGiven below are examples of Kotlin delegates.
Example #1Code:
interface first { fun demo() fun demo1() } class example(val y: String) : first { override fun demo() { print(y) } override fun demo1() { println(y) } } class example1(f: first) : first by f { override fun demo() { print("Welcome To My Domain its the first example that related to the kotlin delegation") } } data class examples(val user: String, val ID: Int, val city: String) fun main() { val b = example("nHave a Nice Day users, Please try again!") example1(b).demo() example1(b).demo1() val inp1 = listOf( examples("Siva", 1, "your location is chennai"), examples("Raman", 2, "your location is tiruppur"), examples("Siva Raman", 3, "your location is mumbai"), examples("Arun", 4, "your location is andhra"), examples("Kumar", 5, "your location is jammu"), examples("Arun Kumar", 6, "your location is kahmir"), examples("Madhavan", 7, "your location is madurai"), examples("Nayar",8, "your location is karnataka"), examples("Madhavan Nayar", 9, "your location is delhi"), examples("Rajan", 10, "your location is west bengal"), ) val inp2 = inp1 .filter { it.user.startsWith("M") } .maxByOrNull{ chúng tôi } println(inp2) println("Your input user lists are : ${inp2?.user}" ) println("The user IDs are shown: ${inp2?.ID}" ) println("city: ${inp2?.city}" ) println("Thank you users for spenting the time with our application kindly try and spent more with our application its useful for your knowledge, $inp1") }In the first example, we used delegates design pattern with a collection list to perform the datas in array operations.
Example #2Code:
import kotlin.properties.Delegates class Employee { } } class EmployeeDetails { var Id: Int = 0 var oldID: Int by this::Id } val eg = fun(a: Int, b: Int): Int = a + b val eg1 = fun(a: Int, b: Int): Int { val multipl = a * b return multipl } val eg2 = fun(a: Int, b: Int): Int = a - b val addition = a + b demo(addition) } val subtraction = a - b demo(subtraction) } fun main() { println("Welcome To My Domain its the second example that related to the kotlin delegates") println("Thank You users have a nice day") val Employee = Employee() Employee.EmployeeName = "first" Employee.EmployeeName = "second" val EmployeeDetails = EmployeeDetails() EmployeeDetails.oldID = 41 println(EmployeeDetails.Id) val sum = eg(23,34) val multipl = eg1(34,23) val minus = eg2(34,23) println("Thank you users the sum of two numbers is: $sum") println("Thank you users the multiply of two numbers is: $multipl") println("Thank you users the subtraction of two numbers is: $minus") val new = { println("Thank you for using the kotlin delegates concepts in the application!")} new() new.invoke() val new1 = arrayOf(27,71,93) new1.forEach { println(it*it) } }Output:
Example #3Code:
class Third { var var1: Int = 13 var var2: Int by this::var1 } fun main() { val Third = Third() Third.var2 = 42 println("Welcome To My Domain its the third example taht related to the kotlin delegates") println(Third.var1) }Output:
In the final example, we used the delegates pattern with the help of by keyword.
ConclusionIn conclusion, kotlin uses many concepts like interface, classes, anonymous classes here in the delegate pattern without class we can create anonymous objects. The kotlin interface delegation should must know that when will be used and how to configure it on the application logic via code without affecting existing areas.
Recommended ArticlesThis is a guide to Kotlin delegate. Here we discuss the introduction, syntax, and working of delegate in kotlin along with different examples and code implementation. You may also have a look at the following articles to learn more –
How Switch Component Works In React
Introduction to React-Native Switch
React-Native Switch is a component controlled by Boolean which assigns its value to true or false. To update the value prop in respect of the component to reflect user actions, on Value Change callback method of React-Native Switch is used. If there is no update in the valueprop the component won’t be able to give the expected result for user action instead it will continuously provide the supplied value. The props of the Switch are disabled, trackColor, ios_backgroundColor, onValueChange, testID, thumbColor, tintColor, value. The major used props of the Switch are on Value Change (invoked with the change in switch value) and value (switchvalue).
Start Your Free Software Development Course
Web development, programming languages, Software testing & others
import { Switch} from 'react-native' <Switch onValueChange={ (value) =? this.setState({ toggled: value })} value={ this.state.toggled }Syntax to use Render in the Switch:
How Switch Component works in React-Native?The working of switch component in react native is defined in the following steps:
Step 1: For logic, HomeContainer component is used, and in the code below presentational component is created with the help of new file SwitchExample.js.
Step 2: To toggle switch items in SwitchExamplecomponent, the value has been passed from the state and functions. For updating the state Toggle functions are used. Switch component takes two props. When a user presses the switch, the onValueChange prop will trigger the toggle functions. To the state of the HomeContainer component, the value prop is bounded. If Switch is pressed, the state will be updated and one can check the values in the console, before that values bounded to default.
Logic and Presentation of Switch in the ApplicationGiven below is the coding for logic and presentation of switch in the application:
Code:
import React, { Component } from 'react' import {StyleSheet, Switch, View, Text} from 'react-native' export default class SwitchExample extends Component { state = { switchValue: false }; render() { return ( <Switch value={this.state.switchValue} onValueChange ); } } const styles = StyleSheet.create({ container:{ flex:1, alignItems: 'center', justifyContent: 'center', backgroundColor: '#96f2ca', }, textStyle:{ margin: 25, fontSize: 24, fontWeight: 'bold', textAlign: 'center', color: '#3a4a35' } })Output:
Examples of React Native SwitchGiven below are the examples:
Example #1React Native Switch.
In the example below, initially the Switch value is set to “FALSE” and display TEXT with “OFF”. When there is change of the value of Switch to “TRUE” by calling onValueChange the component of TEXT will reset to“ON”.
import React from 'react'; import { Switch ,Text ,View , StyleSheet } from 'react-native'; export default class App extends React.Component{ state = { switchValue: false }; }; render() { return ( <Switch style={{ marginTop: 31 }} onValueChange={this.toggleSwitch} value={this.state.switchValue} ); } } const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: '#edb5ff', }, });Output:
Example #2Using Switch Case Statement in React Native.
Code:
import React, { Component } from 'react'; import { Platform, StyleSheet, View, TextInput, TouchableOpacity, Alert, Text } from 'react-native'; export default class App extends Component { constructor(){ super(); this.state={ TextInput_Data : '' } } case '1': this.ONE(); break; case '2': this.TWO(); break; case '3': this.THREE(); break; case '4': this.FOUR(); break; default: Alert.alert("NUMBER NOT FOUND"); } } Alert.alert("ONE"); Alert.alert("TWO"); } Alert.alert("THREE"); } Alert.alert("FOUR"); } render() { return ( <TextInput placeholder="Enter Value Here" keyboardType = {"numeric"} ); } } const styles = StyleSheet.create({ MainContainer: { flex: 1, paddingTop: (Platform.OS) === 'ios' ?20 : 0, justifyContent: 'center', alignItems: 'center', backgroundColor: '#f6ffa6', marginBottom: 20 }, textInputStyle: { height: 40, width: '90%', textAlign: 'center', borderWidth: 1, borderColor:'#033ea3', borderRadius: 8, marginBottom:15 }, button: { width: '80%', padding: 8, backgroundColor:'#7a53e6', borderRadius:5, justifyContent: 'center', alignItems:'center' }, TextStyle:{ color:'#ffffff', textAlign:'center', } });Output:
Example #3Customisable Switch Component for React Native.
import React, { Component } from 'react'; import { StyleSheet ,Text ,View , Switch , Alert } from 'react-native'; export default class App extends Component { constructor() { super(); this.state = { SwitchOnValueHolder: false } } SwitchOnValueHolder: value }) if (value == true) { Alert.alert("You have truned ON the Switch."); } else { Alert.alert("You have turned OFF the Switch."); } } render() { return ( <Switch ); } } const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: '#afff63', }, text: { fontSize: 19, color: '#000000', }, });Output:
Below image shows the window that will appear when Switch is turned ON and Switch is turned OFF respectively.
When Switch is in ONstate:
When Switch is in OFFstate:
ConclusionHere we got to know that the Switch value can be set to ON when the value prop is set to TRUE and the Switch value can be set to OFF when the valueprop is set to FALSE which is also the default value of valueprop. We have also seen the working of the Switch in React-Native from creating a file then to logic then finally to presentation. We also got to know about how to develop a simple switch, developing switch using a switch case statement and also developing a customizable switch. In React-Native switch can be developed very easily and very efficiently.
Recommended Articles
This is a guide to React-Native Switch. Here we discuss the introduction, how switch component works in react-native and examples. You may also have a look at the following articles to learn more –
How Find_In_Set() Function Works In Mysql?
Introduction to MySQL FIND_IN_SET()
MySQL FIND_IN_SET() function is a built-in MySQL string function responsible for discovering the position of a given specific string provided in a list of strings separated by a comma. The FIND_IN_SET() function accepts two arguments that allow matching the first value with the second one containing a list of values as substrings separated by a comma character.
Start Your Free Data Science Course
Hadoop, Data Science, Statistics & others
Generally, the FIND_IN_SET() function applies to any field in the database table with a sequence of values differentiated by a comma. The user wants to compare those values with a specific single value. It thus returns the index of the matched string within the list.
SyntaxFollowing is the syntax structure that illustrates the use of the FIND_IN_SET() function in the MySQL server:
FIND_IN_SET(string1, stringlist);
The initial parameter named string1 defines the string which you need to find.
The next parameter, “stringlist,” represents the list of strings that must be examined, and commas separate these strings.
According to the value of the function arguments, the MySQL FIND_IN_SET() will return the value as an integer or a NULL:
If either function’s parameters, i.e., string1 or stringlist, have a NULL value, the function results in a NULL value.
The function will return zero if the stringlist is empty or if the string1 parameter is not found in the stringlist.
The function returns a positive integer value if the string1 parameter is available in the stringlist.
But note that if the string1 consists of a comma(,), the FIND_IN_SET() function performs poorly on execution. If the string1 parameter is a constant string and the stringlist parameter represents a SET column type, the MySQL server will optimize using bit arithmetic.
How does the FIND_IN_SET() function works in MySQL?MySQL consists of many databases, and each database comprises different tables. Tables in MySQL store data in various data types supported by MySQL, and the most commonly used types are integers and strings.
When a MySQL user wants to find out if a specific string exits in any of certain sequences of strings divided by a comma(,) symbol aimed for any query execution, then the built-in MySQL string function FIND_IN_SET() can be applied.
This function provides the required value depending on the search results. For example, suppose we are illustrating the following query to show how the function works in MySQL:
We will search a substring h within a list of strings using the statement below,
SELECT FIND_IN_SET("h", "g,h,k,l");We use the SELECT statement with the FIND_IN_SET() function to evaluate and display the return value. The result from the above query is true as the first parameter, ‘h’ is present in the list as the second parameter. So, Upon execution, the function will produce a positive integer, specifically 2. This is because the first value of the FIND_IN_SET() function is found in the second index of the list of values provided in the function’s second parameter, which is ‘g,h,k,l’.
Similarly, if we take the below query, then the function returns 0 as the output value as the value is not in the list:
SELECT FIND_IN_SET("b", "g,h,k,l");Also, when we define the query as follows then, the output is NULL as the second parameter is NULL:
SELECT FIND_IN_SET("h", NULL);Thus, we can define the position of a string within a particular list of substrings provided by the database tables.
Conversely, the MySQL IN operator takes any number of arguments to show if a value matches any value in a set.
Examples of MySQL FIND_IN_SET()Let us demonstrate some examples using the MySQL FIND_IN_SET() as follows:
Example #1Example to fetch data from a table by MySQL FIND_IN_SET() function:
Suppose we have a table named collection created in our database using the query below:
CREATE TABLE IF NOT EXISTS Collection (ColID INT AUTO_INCREMENT PRIMARY KEY, ColName VARCHAR(255) NOT NULL, Subjects VARCHAR(255) NOT NULL);Also, let us enter a few record rows into the Collection table created:
INSERT INTO Collection (ColName, Subjects) VALUES('o-1','Computers, Maths, Science'),('o-2','Networks, Maths, MySQL'),('o-3',' Computers, English, Data Science'),('o-4','Electric, Maths, Science'),('o-5','Computers, MySQL, English'),('o-6','Science, Web Design'),('o-7','Maths, Science'),('o-8','MySQL, Web Design'),('o-9','Computers');Displaying the contents of the table as follows:
SELECT * FROM Collection;Now, we will find the collection that will accept the Maths subject using the MySQL function FIND_IN_SET() shown below:
SELECT ColName, Subjects FROM Collection WHERE FIND_IN_SET('Computers', Subjects);Output:
Looking for a simple example and its output as follows:
SELECT FIND_IN_SET('h', 'g,h,k,l');Output:
The FIND_IN_SET() function provides the position of the first argument ‘h’ as found in the sequence of values as the second argument of the function.
Example #2Example showing Negativity of MySQL FIND_IN_SET() function:
Considering the previous table, the result value of the function will be empty when MySQL returns false. This occurs when the substring specified in the first argument is not found in the list of values provided as the second argument. Thus, we will apply the MySQL NOT operator to negate the MySQL function FIND_IN_SET(). Finally, we will illustrate the query example with FIND_IN_SET() function using the NOT operator also to search the collection that does not match the PHP subject in the table values:
SELECT ColName, Subjects FROM Collection WHERE FIND_IN_SET('PHP', Subjects);As you can see, no output is produced as a collection because, in the list of values from column Subjects, the FIND_IN_SET() function has not found any matched substring as given in the first argument.
Example #3Difference between IN operator and FIND_IN_SET():
The IN operator defines whether a substring matches any substring set or list and can accept any number of arguments parted by a comma as follows:
SELECT ColName, Subjects FROM Collection WHERE ColName IN ('o-1', 'o-2', 'o-5', 'o-6');Output:
Similarly, using the FIND_IN_SET() will result in the identical output as IN query but takes only two parameters to show a match of value with a list of values divided by a comma:
SELECT ColName, Subjects FROM Collection WHERE FIND_IN_SET(ColName, 'o-1,o-2,o-5,o-6');Output:
ConclusionMySQL FIND_IN_SET() function allows a server to check if a substring as the first argument is present in the list of values composed of substrings in the second argument parted by a comma.
This function, when the value is searched, returns the results based on those values as a positive integer as position(if the value exists in the list), zero(if value not found) or NULL(if any argument is NULL), which can be helpful for MySQL operations at the admin level.
Recommended ArticlesWe hope that this EDUCBA information on “MySQL FIND_IN_SET()” was beneficial to you. You can view EDUCBA’s recommended articles for more information.
How Nullif Function Works In Postgresql?
Definition of PostgreSQL NULLIF
PostgreSQL nullif is a common conditional expression used to handle null values or expressions in PostgreSQL. nullif is also used with the coalesce function to handle the null values. PostgreSQL nullif function returns a null value if provided expressions are equal. If two expressions provided are equal, then it provides a null value; as a result, otherwise, it will return the first expression as a result.
Start Your Free Data Science Course
Syntax:
Below is the syntax of the nullif function as follows.
Select (Argument1 (First value which is used to handle null values), Argument2 (Second value which is used to handle null values)) SELECT Column1, …, ColumnN COALESCE ( NULLIF (Column_name, ''), ) FROM table_name;Parameter:
Select: In PostgreSQL, you can use the NULLIF function with the SELECT statement to fetch data from a table while handling null values or expressions. We can use multiple columns or a single column at one time to fetch data from the table.
Coalesce: Coalesce states that function name in PostgreSQL, which returns as a first non-null value. Coalesce function is essential and useful in PostgreSQL.
We have used coalesce function with nullif function in PostgreSQL.
Argument 1 to Argument 2: Argument is nothing but an integer or character value that we have passing with nullif function. If we have passing two-argument and both contain a different value, then the nullif function will return the first value in a result. If we have to pass both the same values, then it will return a null value as a result.
Column 1 to Column N: This is the table’s column name. If we want to fetch data from a table using nullif function in PostgreSQL, we pass multiple columns simultaneously. Also, we have given the column name with the nullif function in PostgreSQL.
From: In PostgreSQL, you can retrieve data from the keyword FROM with the table name in a SELECT query.
Table name: Table name used with nullif function to fetch data from a table.
Nullif: It is used to handle null values in PostgreSQL; nullif is also used with the coalesce function to handle the null values. nullif function returns a null value if provided expressions are equal; if provided two expressions are equal, then it provides a null value; otherwise, it will return the first expression as a result.
How does NULLIF Function work in PostgreSQL?Below is the working of nullif function in PostgreSQL.
We can use the coalesce function with nullif function in PostgreSQL. Coalesce states that the function name in PostgreSQL which returns as first non-null value as a result. Coalesce function is essential and useful in PostgreSQL.
In PostgreSQL, you can use the common conditional expression NULLIF to handle null values or expressions.
If we have passing two nullif function arguments and the first contains a null value, then the nullif function will return the first value in a result. If we pass both the same value, it will return a null value in a result.
We have used the nullif function in PostgreSQL to prevent the division error by zero.
In PostgreSQL, you can use the nullif function to prevent errors that may occur when comparing two values.
ExamplesBelow is an example of nullif function.
We have using a discount table to describe an example of the nullif function as follows.
Below is the data description of the discount table, which we have used to describe an example of nullif function.
Example #1 testing=# select * from discount;Output:
Example #2In the below example, we have passing values like 50 and 50. The nullif function will return null values because both the arguments which we have passing are the same.
testing=# select nullif (50, 50);In the above example, we pass the same argument with the nullif function so that it will return the null value as a result.
Example #3In the below example, we have passing values as 50 and 100. Nullif function will return the first value, i.e., 50 because both the arguments which we have passing are different.
testing=# select nullif (50, 100);Output:
In the above example, we have a different passing argument with the nullif function so that it will return the first value as a result.
Example #4 testing=# select nullif ('A', 'P');Output:
In the above example, we have a passing different argument with the nullif function so that it will return the first value as a result.
Example #5In the below example, we have to retrieve data from a discount table using the nullif function.
testing=# SELECT cust_id, product_name, COALESCE ( NULLIF (Product_price, '')) AS Product_price FROM discount;Output:
Recommended ArticlesWe hope that this EDUCBA information on “PostgreSQL NULLIF” was beneficial to you. You can view EDUCBA’s recommended articles for more information.
Update the detailed information about How Pyspark To_Date Works In Pyspark? on the Minhminhbmm.com website. We hope the article's content will meet your needs, and we will regularly update the information to provide you with the fastest and most accurate information. Have a great day!